018-019 NET5_內置容器支持依賴注入+IServiceCollection的生命周期


概念

DI依賴注入: IServiceCollection僅支持構造函數注入

什么是依賴注入?

如果對象A依賴對象B,對象B依賴對象C,就可以先構造對象C,然后傳遞給對象B,再把對象B傳遞給A。得到A的具體實例;

 IServiceCollection可以支持無限層級的依賴注入;前提是都要先注冊服務(注冊抽象和具體的映射關系)

分別注冊對象A和對象B

  在對象B構造函數中創建對象

 

 控制中分別構造對象A和B

 019 IServiceCollection的生命周期

   在創建對象的時候,不同的情況,需要讓對象單例;每一次都創建一個新實例;不同的作用域創建實例;

瞬時生命周期: 每一次getService獲取到的實例,都是不同的實例

單例生命周期:在整個進程中獲取到的都是同一個實例

作用域生命周期:在同一個作用域,獲取到是同一的實例,不同的作用域下,獲取的是不同的對象實例;

建議:開發中,一般情況下使用單例生命周期。更多的是瞬時生命周期的使用

 

  

 


免責聲明!

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



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