ASP.NET Core自己已經集成了一個輕量級的IOC容器

一、services.AddTransient<IApplicationService,ApplicationService>//服務在每次請求時被建立,它最好被用於輕量級無狀態服務(如咱們的Repository和ApplicationService服務)設計模式

二、services.AddScoped<IApplicationService,ApplicationService>//服務在每次請求時被建立,生命週期橫貫整次請求spa

三、services.AddSingleton<IApplicationService,ApplicationService>//Singleton(單例) 服務在第一次請求時被建立(或者當咱們在ConfigureServices中指定建立某一實例並運行方法),其後的每次請求將沿用已建立服務。若是開發者的應用須要單例服務情景,請設計成容許服務容器來對服務生命週期進行操做,而不是手動實現單例設計模式而後由開發者在自定義類中進行操做。設計

權重:對象

AddSingleton→AddTransient→AddScoped生命週期

一、AddSingleton的生命週期:項目啓動-項目關閉   至關於靜態類  只會有一個  開發

二、AddScoped的生命週期:請求開始-請求結束  在此次請求中獲取的對象都是同一個 it

三、AddTransient的生命週期:請求獲取-(GC回收-主動釋放) 每一次獲取的對象都不是同一個io

相關文章
相關標籤/搜索