拥抱.NET Core系列:依赖注入(2)
生活随笔
收集整理的這篇文章主要介紹了
拥抱.NET Core系列:依赖注入(2)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
上一篇“擁抱.NET Core系列:依賴注入(1)大體介紹了服務(wù)注冊(cè)、獲取和生命周期,這一篇來做一些補(bǔ)充。由于內(nèi)容跨度大(.NET Core、ASP.NET Core),所以文章并不是非常的貫穿,大家可以挑著看。
構(gòu)造函數(shù)的選擇
如果一個(gè)服務(wù)中包含多個(gè)構(gòu)造函數(shù),.NET Core會(huì)選擇哪一個(gè)呢?
答案是:最大匹配的構(gòu)造函數(shù)。
我們來看個(gè)示例
泛型服務(wù)
單個(gè)泛型
多個(gè)泛型
集成第三方DI容器
我們這邊使用Autofac來做演示。
安裝packages:“Autofac.Extensions.DependencyInjection”
在 ASP.NET Core
注意修改“ConfigureServices”方法的返回值為“IServiceProvider”。
在 View 中使用服務(wù)
其它
在 ASP.NET Core 中,每個(gè)Request,都會(huì)創(chuàng)建一個(gè)新的DI子容器,在請(qǐng)求結(jié)束后會(huì)銷毀該DI子容器。這樣可以很好的避免資源泄漏。子容器的服務(wù)生命周期可以參考上一篇文章。
原文地址:http://www.cnblogs.com/ants/p/7148674.html
.NET社區(qū)新聞,深度好文,微信中搜索dotNET跨平臺(tái)或掃描二維碼關(guān)注
總結(jié)
以上是生活随笔為你收集整理的拥抱.NET Core系列:依赖注入(2)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ASP.NET Core MVC 控制器
- 下一篇: asp.net core新特性(1):T