.net core3.1 下由Autofac接管IOC


我們都知道,.net core天生自帶IOC容器,但是他的功能其實並不強大,而且有坑:在構造注入的時候,他默認找參數最少的構造函數。

這里,我講解如何使用Autofac去接管IOC,至於為什么要選Autofac,這個其實我也是隨大眾,不過后面我講到關於使用Autofac實現AOP的時候,或許你能發現他的好處

第一步,引包

 

 第二步,修改startup.cs文件

首先,在類的內部定義一個新的方法

 

1 public void ConfigureContainer(ContainerBuilder builder)
2 {
3     // 在這里添加服務注冊
4     //builder.RegisterType<ProductRepository>    ().As<IProductRepository>();//注冊 
5 }

在這個方法里,完成服務注冊。對於服務注冊這塊,關於Autofac的API如果有需要更多的了解的話,可以查閱Autofac指南

 

第三步,修改Program.cs文件

.UseServiceProviderFactory(new AutofacServiceProviderFactory())//使用AutoFac做IOC和AOP

 

第四步,正式使用

對於使用IOC,雖然Autofac有多種騷姿勢,但是我這里還是推薦使用構造注入,如果要問為什么,其實關鍵在於,你不用在每個類庫中都去拉包,到處都拉包的話,項目就會對組件產生依賴,產生一定的耦合。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM