.NET SmtpClient Send 使用 Port 465 會發生 The operations timed out.

前言

最近測試 Mail Server 走 SSL 時,使用 Port  465 。
所以程式中寄 Mail 的部份調整成啟用 SSL , Port 改成 465 。
但程式一執行下去,就 Hang 一段時間,然後噴「The operations timed out」的錯誤。 繼續閱讀 “.NET SmtpClient Send 使用 Port 465 會發生 The operations timed out.”

在 pdf 文件最後一頁才顯示 footer

前言

在 將 datatable 的資料轉出成有浮水印的 PDF 檔 (2) 中,我們已可以將 datatable 的資料轉出有浮水印的 pdf 檔。 但客戶有個需求是, footer 可以在最後一頁才顯示嗎?

因為我們是透過 Excel 去轉成 PDF ,於是就研究看看 Excel 是否可在最後一頁才顯示,參考 Excel 有多頁列時,只希望列印最後一頁的頁尾,其他分頁都不會印出 似乎不容易 (啓動巨集呢!) 繼續閱讀 “在 pdf 文件最後一頁才顯示 footer”

SQL 某個欄位包含 文字、符號及數值,是否可依 數值、文字來排序?

前言

有同事詢問,SQL DB 中某個欄位,資料型態為 nvarchar,裡面存放著數值、文字、符號等內容。
依照預設的排序,結果會是 1, 11, 2, 文字 …

那有辦法,數值時就依數值排序後,再用文字排嗎?
例如 1, 2, 11, 文字 … 繼續閱讀 “SQL 某個欄位包含 文字、符號及數值,是否可依 數值、文字來排序?”

Microsoft Botframework + Adaptive Cards 快速打造 Chatbot 之 2

前言

在 Microsoft Botframework + Adaptive Cards 快速打造 Chatbot 一篇中,
我們說明如何透過 Adaptive Cards 將所有的動作透過 Action 再依它的 Action Type 來轉換成對應的 Action 物件及處理該 Action 物件的 Strategy 物件。

但是當我們的 Action 逾來逾多時,原本使用 switch 勢必會造成相對應的複雜度,依 Strategy 的方式是建立對應表,以下將介紹使用 Dictionary<string, Func<T>> 及 Autofac DI 這2種方式。

另外,如果 Strategy 物件 中有使用到 Prompt dialogs 時,原本在執行完 Strategy 物件的 Method 後,如果直接呼叫 context.Done(“”); 將會造成 botframework Dialog Stack 運行上的錯誤,我們也將修改 Strategy 物件實作的 interface ,增加最後是否要自動執行 context.Done 。 繼續閱讀 “Microsoft Botframework + Adaptive Cards 快速打造 Chatbot 之 2”

Microsoft Botframework + Adaptive Cards 快速打造 Chatbot

前言

今年的 Chatbot 很火紅,不知大家都用什麼來開發 Chatbot 呢?
筆者使用的是 Microsoft Botframework 來開發,它提供了很多語言的 SDK,讓我們可以快速的開發出 Chatbot。
最近開發 Vitals ESP (KM) Chatbot,一開始規劃好畫面及流程後,很快就開發完成了。
接下來就跟大家分享開發的過程 🙂

需求

Vitals ESP 是 KM 系統,希望 KM Chatbot 可以方便讓人查詢,在手機上畫面不大,所以需要分頁。如果有人 Mention 到你的話,也可以發通知到 Chatbot 上,讓你可以快速地回覆。
所以需求主要有 2 個,

繼續閱讀 “Microsoft Botframework + Adaptive Cards 快速打造 Chatbot”