2023年4月16日 星期日

ASP.NET Core 7.0 如何引用 Autofac

ASP.NET Core 在引用Autofac 套件中,相較於 Core 3.1 的版本而在 7.0 的版本中設定稍微簡潔一點

(但就真的只有一點點...),隨手紀錄一下



首先建立 .NET 7 的WebApi 專案


使用 nuget 加入 Autofac,記得是要安裝 Autofac.Extensions.DependencyInjection


安裝好之後,來到 Program.cs 檔案(asp.net core 7.0 沒有 Startup.cs 檔案)

using namescpace,並且設定 AutofacServiceProvider,如下圖


接著為了驗證透過 Autofac 的注入情境,加入相關 class,有 IUserService、UserService、User



再回到Program.cs 檔案,註冊相關檔案(先不指定注入週期使用預設值)


後續,新增UserController 來呈現注入狀況



跑起來的結果


若要直接將組件裡面的 Service 一次性的註冊,可以調整註冊語法,同樣會得會相關結果



若想要將註冊物件這個動作統一由某個檔案來管理,可以繼承 Autofac.Module 並且覆寫 Load()方法

如下圖,新增 AutofacModuleRegister Class


再來到 Program.cs 檔案,註冊 Module


Run 一下檢視結果

沒有留言:

張貼留言