擁抱.NET Core系列:依賴注入(2)

上一篇「擁抱.NET Core系列:依賴注入(1)」大致介紹了服務註冊、獲取和生命週期,這一篇來作一些補充。html

因爲內容跨度大(.NET Core、ASP.NET Core),因此文章並非很是的貫穿,你們能夠挑着看。ide

構造函數的選擇

若是一個服務中包含多個構造函數,.NET Core會選擇哪個呢?函數

答案是:最大匹配的構造函數。3d

咱們來看個示例htm

image

泛型服務

單個泛型

image

多個泛型

image

集成第三方DI容器

咱們這邊使用Autofac來作演示。blog

安裝packages:「Autofac.Extensions.DependencyInjection」生命週期

image

在 ASP.NET Core

image

注意修改「ConfigureServices」方法的返回值爲「IServiceProvider」。資源

在 View 中使用服務

image

其它

在 ASP.NET Core 中,每一個Request,都會建立一個新的DI子容器,在請求結束後會銷燬該DI子容器。這樣能夠很好的避免資源泄漏。子容器的服務生命週期能夠參考上一篇文章。get

寫在最後

.NET技術棧QQ羣:384413261(點擊加入.NET Groupit

相關文章
相關標籤/搜索