如何使用 Options Pattern for Microsoft.Extensions.Options

上篇,如何使用組態 Microsoft.Extensions.Configuration,最後我讓物件依賴 IConfiguration,不論是讀檔操作,還是重新載入檔案,它都可以完成,還可以更好嗎?.NET Core 的 Options Pattern 強化 IConfiguration,封裝了讀檔、轉強型別、重新載入、載入通知、驗證資料的行為,提供另一種使用參數的選擇。

...繼續閱讀 »

如何使用組態 Microsoft.Extensions.Configuration

Microsoft.Extensions.Configuration.dll 用來處理組態,讀檔、重新載入、支援多種格式,包括記憶體、Json、Xml、Ini,也可以像在 .Net Fx 用 Transform 切換組態。

它是在 .NET Core 的基礎建設之一,除了.NET Core,也支援 NET Framework 4.6.1 以上;也可以像在 .Net Fx 用 Transform 切換組態。

ASP.NET Core 預設的組態是 appSetting.json,本篇簡單介紹組態設定的使用方法,關於 ASP.NET Core 的 Host,以後再寫一篇為大家講解

...繼續閱讀 »

.NET 的 Virtual File System - Lexical.FileSystem

甚麼是 VFS?以下出自 wiki

虛擬檔案系統(英語:Virtual file system,縮寫為VFS),又稱虛擬檔案切換系統(virtual filesystem switch),是作業系統的檔案系統虛擬層,在其下是實體的檔案系統。虛擬檔案系統的主要功用,在於讓上層的軟體,能夠用單一的方式,來跟底層不同的檔案系統溝通。在作業系統與之下的各種檔案系統之間,虛擬檔案系統提供了標準的操作介面,讓作業系統能夠很快的支援新的檔案系統。

Lexical.FileSystem 是 .NET 平台的 VFS,能夠為我帶來甚麼幫助呢??

...繼續閱讀 »

.NET Project SDKs 設定 InternalsVisibleTo

以往在 NetFx 在專案的 AssemblyInfo.cs 加上 System.Runtime.CompilerServices.InternalsVisibleToAttribute("TestProject1"),就可以讓 "TestProject1" 存取 NetFx 專案內的 internal 成員;這技巧通常用於測試,既可隱藏,又可測試,真的好棒。

現在,新版的 .NET Project SDKs 已經沒有包含 AssemblyInfo.cs 靜態檔案了,作法就要做一些調整了

 
...繼續閱讀 »

通過 Azure DevOps Server 2019 Build Pipeline 取代檔案中的某個變數

我的方案有 AB 兩個專案,B 參考 A ,這兩個專案最終都要 Deploy 到 Nuget Server,我想要在 B 專案的 *.nuspec 指定 A 專案的 nuget version,version 是變動的,根據 build number 產生出來。

我有嘗試過用手動變更版號,用了一段時間,但那實在是太累了,要手動調整的東西太多,萬一沒有調到就慘了,最後,花了很多的時間把 Market 有關 Variable 的套件,全部抓下來測過,最後才找到 Replace Variables,使用目前的作法,完全不需要人力介入,Replace Variables 好棒棒!!!

...繼續閱讀 »

[.NET]開發人員不可缺少的重試處理利器 Polly

 

Polly is a .NET resilience and transient-fault-handling library that allows developers to express policies such as Retry, Circuit Breaker, Timeout, Bulkhead Isolation, and Fallback in a fluent and thread-safe manner.

Polly是一個.NET彈性和瞬態故障處理庫,允許開發人員以流暢和線程安全的方式表達諸如重試,斷路器,超時,隔離和回退之類的策略。

 

...繼續閱讀 »