2023年11月9日 星期四

.NET Core Console Application 使用依賴注入(四)

前回使用Autofac 套件,這回搭配 Microsoft.Extensions.Hosting 套件一起服用,透過Hosting 來掌控

應用程式相關生命週期及統一託管模型



首先安裝Microsoft.Extensions.Hosting



建立HostedService Class 並且繼承IHostedService 介面


內容中必須實作StartAsync()、StopAsync() 方法,在建構式中有注入 ServiceLifetimeReporter 實體,

另外,StartAsync() 有呼叫 reporter 的ReportServiceLifetimeDetails() 方法先知道下即可


Programes.cs

這邊會是透過Host 建立相關 container 的設定並且註冊相關類別,其中必須 using 相關命名空間

using Autofac;

using Autofac.Extensions.DependencyInjection;

using Microsoft.Extensions.DependencyInjection;

using Microsoft.Extensions.Hosting;




執行結果


至於使用 Hosting 有甚麼差異?

  • 統一託管模型與生命週期管理

  • 生命週期事件控制

  • 依賴注入容器(DI Container)為內建的,但也可以搭配第三方套件,如 Autofac

  • 日誌和監控可使用內建提供的來存取,如Microsoft.Extensions.Logging 和其他監控工具



【參考】

沒有留言:

張貼留言