2016-07-22 35 views
2

大家都知道在asp.net 啓動類有個方法ConfigureServices我們可以添加自定義服務。服務通過依賴注入提供。如何用我自己的IoC替換內置的IoC?

ASP.NET核心包括控制反轉(IoC) 容器的簡單的內置反轉,默認情況下支持構造器注入,但可以 輕鬆地與您選擇的IoC容器代替。除了其 鬆散耦合的好處,DI使提供的服務在您的 應用

我的問題是如何更換內置IoC和我自己的IoC?

請給我一個例子,如果你有。

回答

7

有許多不同的容器的當前可用於ASP.NET核心,包括

正是你如何使用它們的區別在每種情況下,但本質上它們都遵循相同的模式:使用內置容器

  • 創建第三方的一個實例,容器
    • 註冊依賴像往常一樣
    • 添加任何額外的註冊量爲第三方容器
    • 填充新的容器與註冊的內置容器
    • 返回從第三方容器的IServiceProvider

    值得注意的是,在這些圖書館將與內置容器進行整合的方式中會發生一些對話。評論here提供了對話的一個很好的總結,或者你可以直接參與關於GitHub herehere的討論。