日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

NET Core 3.0 AutoFac替换内置DI的新姿势

發(fā)布時(shí)間:2023/12/4 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NET Core 3.0 AutoFac替换内置DI的新姿势 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

  .NET Core 3.0 和 以往版本不同,替換AutoFac服務(wù)的方式有了一定的變化,在嘗試著升級(jí)項(xiàng)目的時(shí)候出現(xiàn)了一些問(wèn)題。

  原來(lái)在NET Core 2.1時(shí)候,AutoFac返回一個(gè)?IServiceProvider?參數(shù)注入到ConfigureServices .NET Core 服務(wù)中,基本大痣是這樣做的。

  首先我們需要一個(gè)重寫?Autofac.Module?的方法,這將用于將我們?Register?[數(shù)據(jù)訪問(wèn)層] 以及 ?Services?[邏輯層] 的注冊(cè)。


?  隨后,將.NET Core的ConfigureServices方法的返回值改成IServiceProvider,這將用于注入你的服務(wù)。

  上面的代碼中我們調(diào)用了?ForRegisterAutoFac?我們自定義的方法,這將我們定義的策略和AutoFac 一起替換內(nèi)置DI.


?  在API層,我們依賴注入Service,這樣我們.NET Core2.1基本的AutoFac就實(shí)現(xiàn)了。


  就現(xiàn)在我們說(shuō)一說(shuō).NET Core3.0 和 以往版本的區(qū)別。我將所有項(xiàng)目以及依賴項(xiàng)全部改成3.0版本,就現(xiàn)在啟動(dòng),你會(huì)發(fā)現(xiàn)意想不到的事情。

?

啥?你說(shuō)啥?弄薩累? 咋不管用了嘞?

  經(jīng)過(guò)看了官方文檔,才知道..NET Core 3.0?引入了具有強(qiáng)類型容器配置的功能。它提供了?ConfigureContainer?方法,您可以在其中使用Autofac來(lái)注冊(cè)事物,而不必通過(guò)?ServiceCollection?來(lái)注冊(cè)事物。so....好吧!在.NET Core3.0 將如何配置。

  首先我們需要在?Program.cs?中修改服務(wù)工廠,內(nèi)置是?ServiceProviderFactory?的,我們將要指定為:?AutofacServiceProviderFactory?。


  現(xiàn)在需要在?Startup.cs?中添加方法?ConfigureContainer?,并添加以下代碼。


然后大功告成,啟動(dòng)再也沒(méi)問(wèn)題了~。

?Github地址:https://github.com/zaranetCore/Blog.DDD.Solucation



總結(jié)

以上是生活随笔為你收集整理的NET Core 3.0 AutoFac替换内置DI的新姿势的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。