通過 LINE Notify 發送訊息

LINE 服務有一個 LINE Notify 帳號,這是一個 LINEBot 機器人,專門用來發送訊息的帳號,只要你曾經有訂閱任何一個 LINE Notify 通知服務,它就能發訊息給你;或是把 LINE Notify 帳號加入群組也可以。LINE Notify 可以讓開發人員免費的發送訊息 + 表情或是圖片給用戶,在需要即時的通知用戶的場景下,是一個相當實惠的解決方案;尤其在台灣 LINE 等於是一個基礎建設,人手都有帳號,用 LINE 整合訊息通知應該是比較方便的。

...繼續閱讀 »

Chocolatey 配置與安裝

Chocolatey 是 Windows 安裝軟體無人值守的好幫手,在 https://community.chocolatey.org/packages 搜尋你想要的軟體執行安裝語法即可,在 Chocolatey 上的軟體則都是正版,下載路徑來源也都是來是各軟體原廠,所以可以安心服用

...繼續閱讀 »

通過 Microsoft.Extensions.DependencyInjection,多個實作如何註冊相同的介面

當有一個介面(抽象),有多個實作(細節),在 Autofac 和 Unity 預設都有相關的解決方案,可以注入到屬性、方法、建構函數,這都需要使用特殊的 Attribute 來描述參數,比如 Autofac 的 [KeyFilter]、Unity 的 [Dependency],這將會讓你的物件變得不單純,必須要特殊的用法才會工作,接下來我會分享實作的方式,要怎麼選就看你了

...繼續閱讀 »

[EF Core][SQLite]如何使用 EF Core DbContext 以 Microsoft.EntityFrameworkCore.Sqlite 為例

.NET Core 1.0 開始為了跨平台重新改寫了 SQLite,名為 Microsoft.Data.Sqlite,刪除了過時的 DataTable 和 DataAdapter 相關的 DataSet  API,這已經和之前的 System.Data.SQLite 不一樣,但團隊還是盡量讓它們兩者的 API 變化降到最低。這裡有官方的比較說明文件 與System.Data.SQLite的比較-Microsoft.Data.Sqlite | 微軟文檔

...繼續閱讀 »

[EF Core 5][UnitTest]在 EF Core 使用 In-Memory 降低建立測試替身的成本

當我們要針對商業邏輯測試時,可能需要隔離 EFCore DbContext,搭配 Mock Framework 可以快速地建立測試替身假的 DbContext,自從 EF Core 的 In-Memory 出現之後,建立 DbContext 測試替身這件事,就變得輕鬆許多了

測試使用 EF Core 的程式碼 - EF Core | Microsoft Docs

...繼續閱讀 »

如何使用應用程式秘密組態

秘密管理員工具,預設會在專案的開發期間儲存機密資料,絕對不要將密碼或其他敏感性資料儲存在原始程式碼中,機密資料不應與應用程式一起部署。應該透過像是環境變數或 Azure 金鑰保存庫等受控方式來存取生產秘密。 您可以透過 Azure Key Vault 設定提供者  儲存及保護 Azure 測試與生產祕密。

...繼續閱讀 »

使用 Microsoft.Extensions.Hosting.WindowsServices 和 Topshelf.Extensions.Hosting 建立 Windows Service 應用程式

Microsoft.Extensions.Hosting.WindowsServices 實作 IHostLifetime,可以讓我們輕鬆地將 Console 應用程式掛載在 Windows Service,在實作的過程當中,發現控制服務不是那麼的友善。

於是想起了 Topshelf,便找到了 Topshelf.Extensions.Hosting,它除了可以使用原本的 Host 生命週期,DI Container 注入方式,還可以享有 Topshelf 自我管理 Windows Service 的功能。

...繼續閱讀 »