我們都知道,.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有多種騷姿勢,但是我這里還是推薦使用構造注入,如果要問為什么,其實關鍵在于,你不用在每個類別庫中都去拉包,到處都拉包的話,專案就會對組件產生依賴,產生一定的耦合,

轉載請註明出處,本文鏈接:https://www.uj5u.com/net/69040.html
標籤:.NET Core
