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


上一篇“擁抱.NET Core系列:依賴注入(1)”大體介紹了服務注冊、獲取和生命周期,這一篇來做一些補充。

由於內容跨度大(.NET Core、ASP.NET Core),所以文章並不是非常的貫穿,大家可以挑着看。

構造函數的選擇

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

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

我們來看個示例

image

泛型服務

單個泛型

image

多個泛型

image

集成第三方DI容器

我們這邊使用Autofac來做演示。

安裝packages:“Autofac.Extensions.DependencyInjection”

image

在 ASP.NET Core

image

注意修改“ConfigureServices”方法的返回值為“IServiceProvider”。

在 View 中使用服務

image

其它

在 ASP.NET Core 中,每個Request,都會創建一個新的DI子容器,在請求結束后會銷毀該DI子容器。這樣可以很好的避免資源泄漏。子容器的服務生命周期可以參考上一篇文章。

寫在最后

.NET技術棧QQ群:384413261(點擊加入.NET Group


免責聲明!

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



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