續上篇 .NET 的 Virtual File System - Lexical.FileSystem,經過上篇,應該稍微對於 VFS 的使用情境及架構多多少少有點概念了,我又發現另外一套 VFS Zio,操作起來極為順手,我想應該是他的命名相當的清楚,幾乎不用看文件就猜得出來
.NET 的 Virtual File System - Zio FileSystem
- 895
- 0
- Virtual File System
- 2021-04-08
續上篇 .NET 的 Virtual File System - Lexical.FileSystem,經過上篇,應該稍微對於 VFS 的使用情境及架構多多少少有點概念了,我又發現另外一套 VFS Zio,操作起來極為順手,我想應該是他的命名相當的清楚,幾乎不用看文件就猜得出來
甚麼是 VFS?以下出自 wiki
虛擬檔案系統(英語:Virtual file system,縮寫為VFS),又稱虛擬檔案切換系統(virtual filesystem switch),是作業系統的檔案系統虛擬層,在其下是實體的檔案系統。虛擬檔案系統的主要功用,在於讓上層的軟體,能夠用單一的方式,來跟底層不同的檔案系統溝通。在作業系統與之下的各種檔案系統之間,虛擬檔案系統提供了標準的操作介面,讓作業系統能夠很快的支援新的檔案系統。
Lexical.FileSystem 是 .NET 平台的 VFS,能夠為我帶來甚麼幫助呢??
之前有提到使用 IIS WebSite Deployment 來部署 Web 應用程式,不過它不知道在哪個版本就已經列入過時了,取而代之的是 WinRM - IIS Web App Management Task,它不需要依賴 MsDeploy 和 Web Deploy (from Microsoft Web Platform Installer)

以往在 NetFx 在專案的 AssemblyInfo.cs 加上 System.Runtime.CompilerServices.InternalsVisibleToAttribute("TestProject1"),就可以讓 "TestProject1" 存取 NetFx 專案內的 internal 成員;這技巧通常用於測試,既可隱藏,又可測試,真的好棒。
現在,新版的 .NET Project SDKs 已經沒有包含 AssemblyInfo.cs 靜態檔案了,作法就要做一些調整了
組合出好維護的 Http Request 這件事一直困擾著我,最近發現了一枚小工具 Flurl,使用 Flent 語法結構組合出維護性高的 Http Request
.NET Core 的專案範本在處理版號跟以往有點小差異,雖然很簡單但實作的過程還是卡了一下,為了下一次的順利還是紀錄一下吧
我的方案有 AB 兩個專案,B 參考 A ,這兩個專案最終都要 Deploy 到 Nuget Server,我想要在 B 專案的 *.nuspec 指定 A 專案的 nuget version,version 是變動的,根據 build number 產生出來。
我有嘗試過用手動變更版號,用了一段時間,但那實在是太累了,要手動調整的東西太多,萬一沒有調到就慘了,最後,花了很多的時間把 Market 有關 Variable 的套件,全部抓下來測過,最後才找到 Replace Variables,使用目前的作法,完全不需要人力介入,Replace Variables 好棒棒!!!
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彈性和瞬態故障處理庫,允許開發人員以流暢和線程安全的方式表達諸如重試,斷路器,超時,隔離和回退之類的策略。
HttpClient 原本存在的問題,現在通過 HttpClientFactory / SocketsHttpHandler 的 Connection Pool 就可以解決,不過 HttpClientFactory 得搭配 Microsoft.Extensions.DependencyInjection 才能使用,接下來,我將分享實作步驟
使用地端 Azure DevOps Server 發生憑證的問題,java.lang.RuntimeException: An error occurred: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 估計是根憑證不被信任的問題,為了找出正確的憑證信任區,花了我不少的時間...