在最近的幾個 Entity Framework Core 版本,對於 Logging (紀錄) 的撰寫方式一直在改變,大致上可區分成 EF Core 2.1
, EF Core 3.0+
與 EF Core 5.0
三種版本,這意味著你從網路上找到的資訊,很有可能是舊的,但很多人無法區別其差異,因為舊的寫法到了 EF Core 5.0 依然可以用,只是會被標示棄用而已。你應該也可以想像得到,越新的 EF Core 版本,寫法就會更簡單的,這篇文章我就來說說幾種不同的紀錄方法。
... 繼續閱讀 ...
我們會將 .NET Generic Host 用在 ASP.NET Core 或 Worker Service (背景服務) 這類需要運行在長時間執行的應用程式中。不過,若只是僅執行一次的這種單純的 Console 主控台應用程式適合用 .NET Generic Host 來建立應用程式架構嗎?是的,當然適合,而且還有很多附加的好處。
... 繼續閱讀 ...
前陣子 Office 365 管理介面建議我將「通訊群組」(Distribution List) (DL) 全面升級為「群組」(Group),但我在升級完成後,我現有的 PowerShell 命令就失效了,因為 Cmdlet 命令不一樣了,這篇文章來說說其差異之處。
... 繼續閱讀 ...
最近迷上 C# 原始碼產生器 (Source Generators) 這門相當新穎的技術,跟以往常用的 T4 (Text Template Transformation Toolkit) 產生器技術不太一樣,這個 Source Generators 是屬於 Roslyn 編譯器的技術之一,讓你在專案建置的過程中,可以對正在編譯的 C# 原始碼進行增補,動態加入「額外」的原始碼,最後再編譯在一起,非常神奇又實用的技術,讓人非常有想像空間! 👍
... 繼續閱讀 ...
今天在示範 MSBuild 如何設定 MvcBuildViews
屬性時,發現只要有 *.edmx
存在於專案中,建置的時候就會導致出現 Could not load type 'System.Data.Entity.Design.AspNet.EntityDesignerBuildProvider' 的問題,這個問題想從 Visual Studio 2019 裡面很難看出個端倪,必須改用 MSBuild 才能看出脈絡。今天這篇文章,我將分享這個問題的細部分析,並提供解決方案。
... 繼續閱讀 ...
最近因為有客戶的 Infra 環境採用 OKD (The Community Distribution of Kubernetes that powers Red Hat OpenShift) 平台,為了能夠在我公司建立一套跟客戶一樣的環境,所以就自行架設了一套來用,大約花了兩天時間研究,雖然建置的過程不太順利,但發現越玩越熟就越覺得好用。還好我已經有 Kubernetes 的底子在,研究 OKD 其實觸類旁通,雖然有卡關,但還好都有解決。本篇文章就分享我的 OKD 3.11 建置過程與心得!
... 繼續閱讀 ...
Azure Container Registry (ACR) 是 Azure 雲端平台非常重要的基礎建設,不但可以用來儲存 Docker Images,也可以用來儲存 Helm Charts 在上面。除此之外,企業所需的身份認證授權功能也相當完整,但只要扯到認證授權,事情就會複雜許多。這篇文章我將深入探討 ACR 各種不同的認證授權方法,幫助企業導入 ACR 使用。
... 繼續閱讀 ...
昨天試用了一下 GitHub Codespaces 這套完全線上使用的整合開發環境,這套基於 Visual Studio Code 的雲端版本功能相當完整,所有在地端 Visual Studio Code 的設定,都可以全自動同步上去,所有擴充套件也都可以用。但唯一的不便之處,就是 Chrome 預設的 Ctrl-W
(關閉目前頁籤) 快速鍵,會自動覆蓋掉 Visual Studio Code 常用的 Ctrl-W
(關閉目前檔案),可是這個快速鍵又這麼常用,所以一不小心就會關閉線上編輯器。因此,我研究出兩種方法有效避免頁籤被關閉!
... 繼續閱讀 ...
昨天在 Kubernetes Summit 2020 主持了一場實戰工作坊,幫助大家體驗 Istio 強大的 Service Mesh 能力。今天在家抽空玩了一下原先由微軟主導的 Open Service Mesh (OSM),這套最近貢獻給 CNCF (雲端原生運算基金會),正式成為 CNCF 沙盒專案的成員之一,十分有發展潛力。本篇文章就帶大家試試這套 SMI 服務網格介面 (Service Mesh Interface) 實作。
... 繼續閱讀 ...