.netCore自帶依賴注入,支援建構函式注入,如不瞭解IOC 和DI 思想的請看我其它文章中關於這主面的介紹。
如Startup.cs類中的Configure方法其中IApplicationBuilder、IWebHostEnvironment就是.netCore已經為我們註冊好了的服務,我們直接用就可以了。
現在開始實現自己的服務,並註冊。
1)新建一個服務介面IMyService,並實現該服務類MyService
2)在註冊 Service 前,我們需要明白兩個事情:
一是註冊的地方,Service 的註冊是在 Startup 類中的 ConfigureServices 方法;
二是註冊的生命週期。
ASP.NET Core 中註冊 Service 的生命週期有 3 種:
Transient:每一次提取 Service 時都會建立一個新的 Service 例項;
Singleton:在整個應用程式的生命週期中,其將只在第一次提取時建立一個 Service 例項,並儲存該例項,即單例模式;
Scoped:在同一個 IServiceProvider 中,其將只建立一個 Service 例項,在 MVC 中可以理解為對於同一個 HttpRequest,其將只建立一個 Service 例項;
服務的註冊與使用
啟動應用