一、ASP.NET Core簡介
.Net Core是一個通用的開發平台,主要特點是跨平台(它可在 Windows、Mac OS和Linux 的多個發布版本上運行),基於.Net Core開發的應用程序可以運行在不同的操作系統上;而ASP.NET Core是基於.NET Core平台的web開發框架,具有模塊化、開源、靈活、易部署等特點;
二、項目里的Startup類
ConfigureServices:向依賴注入容器添加服務;
Configure:用於添加中間件,配置請求管道;
三、依賴注入
使用依賴注入的原因?
程序中有多個組件,組件之間存在較高的耦合,某個組件如果出現問題,對於維護性來說,維護成本會比較高,並且開發的靈活性比較低;
解決辦法?
使用“依賴倒置原則”的開發模式,高層和低層之間沒有直接相互依賴,它們都是依賴於抽象;高層只關心接口,低層根據高層的接口設計來進行實現;這樣高層和低層之間就實現了解耦;
四、IOC容器
IOC容器,即依賴注入容器,也稱控制反轉容器;它是一個類,用於管理程序中用到的依賴注入;我們可以把它視為一個創建對象的工廠,同時它也負責管理所創建的對象的生命周期;
五、ASP.NET Core中的依賴注入
在ASP.NET Core里,被放入依賴注入容器的類型或組件都稱為服務;服務分為兩種類型:1、框架服務,這些服務是ASP.NET Core框架的組成部分,如 IApplicationBuilder、IHostingEnvironment和ILoggerFactory等; 2、應用服務,由用戶放到容器中的服務都屬於應用服務;
在ASP.NET Core內置的依賴注入容器中,服務的生命周期有3種:
1、Singleton: 容器會創建服務的單例,在整個應用程序中會一直存在並且可以使用;
2、Transient: 每一次服務被請求時,都會創建一個新的實例;
3、Scoped:每一次服務被請求時,都會創建一個新的實例, 並且在這個請求內此實例一直都存在;