如何使用 DI Container for Microsoft.Extensions.DependencyInjection

Microsoft.Extensions.DependencyInjection 是微軟實作的 DI Container,在 ASP.NET Core 大量的使用,無形之間已經成為一種開發標準,過去,還沒有使用 DI Container 時,我會使用靜態屬性來集中管理物件的生命週期,現在,集中管理物件的生命週期,我又多了一個選擇。

Microsoft.Extensions.DependencyInjection 支援 .NET Fx 4.6.1 以上

...繼續閱讀 »

如何使用 Microsoft.Extensions.Logging for NLog

  • 15339
  • 0
  • Log
  • 2020-10-29

.NET 提供了標準化的 Log (Microsoft.Extensions.Logging),NLog 4.5 的時候支援了結構化日誌,同時也實作標準日誌,由於程式碼已經依賴了標準,引用 NLog 也只是彈指之間的設定,仍然可以使用舊的 NLog.Config。還不知道如何使用標準化日誌請看 這裡

...繼續閱讀 »

[ASP.NET Web API 2] Global Error Handler - 實作 ExceptionFilterAttribute 捕捉應用程式例外並紀錄請求參數

Global Error Handler 有很多的方式,這次來介紹 System.Web.Http.Filters.ExceptionFilterAttribute,用它集中管理應用程式的例外,不需要在每一個動作包裝錯誤,你可以針對不同的例外進行處理,比如,有專門的 Filter 處理交易例外

...繼續閱讀 »

[ASP.NET] 使用 Request 傳遞參數

ASP.NET 的 Request 物件的生命週期很短,只會出現在一個 Http Request,當需要跨物件傳遞資料時,比如 HttpModule、HttpHandler、Page 、Controller,可以善用 Request 物件來存放短暫的狀態。

既然可以傳遞物件,那麼我們也可以在 Request 初始化的時候,將所需要的物件注入至 Request 裡面,然後再到到 Page / Controller 取出來用;在不同的專案範本可以使用的 Request 物件都不太一樣,接下來分享我已經知道的寫法。

...繼續閱讀 »

[ASP.NET Web API 2]如何使用 OWIN Middleware 捕捉 OWIN Host 引發的例外

Web API 的 ExceptionFilterAttribute、IExceptionFilter 能幫我們處理應用程式等級的例外,但無法處理載體 (Host) 的例外,當使用 IIS 作為載體,假使發生未處理的例外時會出現黃頁,OWIN 作為載體時,ExceptionFilterAttribute、IExceptionFilter 卻攔截不到錯誤,此時應該改用 Microsoft.Owin.Diagnostics.IAppBuilder.UseErrorPage 擴充方法,接下來將會利用 Error Handler 這個情境,介紹 OWIN Middleware 的幾種使用方式。

...繼續閱讀 »

ASP.NET 開發 / 除錯時套用 Transform 切換組態設定

如果可以,應避免使用「註解/反註」解來切換設定。

預設 ,Transform 在 Web.config 執行部署才會觸發 Config 轉換,當開發人員需要在 VS IDE 除錯模式 (F5 /Ctrl+F5) 下切換設定時,卻無法套用切換設定,這時,可以透過 MsBuild 的 Task 來處理https://docs.microsoft.com/en-us/visualstudio/msbuild/how-to-extend-the-visual-studio-build-process?view=vs-2015&redirectedfrom=MSDN

 

...繼續閱讀 »