Asp .Net core 2 学习笔记(1) —— Starup
生活随笔
收集整理的這篇文章主要介紹了
Asp .Net core 2 学习笔记(1) —— Starup
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這個系列的初衷是便于自己總結與回顧,把筆記本上面的東西轉移到這里,態度不由得謹慎許多,下面是我參考的資源:
?ASP.NET Core 中文文檔目錄
官方文檔
記在這里的東西我會不斷的完善豐滿,對于文章里面一些局限于我自己知識積累的觀點,希望沒有跳走堅持看完的朋友,能夠予以指正和鼓勵.
?
系列目錄
(1)Starup
(2)中間件
(3)靜態文件
?
?
基礎知識
在 ASP.NET Core 中,Startup?類提供了應用程序的入口,所有應用程序中都有?Startup?類。
基本格式如下: 1 public class Startup 2 { 3 // Use this method to add services to the container. 4 public void ConfigureServices(IServiceCollection services){ 5 ... 6 } 7 8 // Use this method to configure the HTTP request pipeline. 9 public void Configure(IApplicationBuilder app){ 10 ... 11 } 12 } ConfigureServices:Startup?類中的公開可選方法,用來配置應用程序內的服務,通過參數獲取一個IServiceCollection?實例并可選地返回?IServiceProvider.服務必須在服務容器中注冊后,才可在應用和 Configure 方法中使用.例如:控制器中的構造注入,就需要先在該方法中注冊,此時服務容器可以看作是IOC容器 Configure:Startup?類中的必選方法,用于指定 ASP.NET 應用程序將如何響應每一個 HTTP 請求。簡單來說,你可以配置每個請求都接收相同的響應。通常將復雜的管道配置封裝于?中間件(middleware)?之中,并通過擴展方法添加到?IApplicationBuilder?上。Configure?方法必須接受一個?IApplicationBuilder?參數. Warnning ConfigureServices?需要在?Configure?之前被調用。這一點非常重要,這是因為像 ASP.NET MVC 中的某些功能,需要從?ConfigureServices?中請求某些服務,而這些服務需要在接入請求管道之前先被加入?ConfigureServices?中。可用服務
ASP.NET Core 在應用程序啟動期間提供了一些默認注冊的應用服務和對象。你可以非常簡單地使用這些服務,只需要在在?Startup?類的構造函數或是它的?Configure?與?ConfigureServices?方法中的一個包含合適的接口即可。下面定義了在?Startup?類中對每個方法可用的服務。框架服務和對象包括: IApplicationBuilder 被用于構建應用程序的請求管道。只可以在?Startup?中的?Configure?方法里使用 IApplicationEnvironment 提供了訪問應用程序屬性,類似于ApplicationName?、ApplicationVersion?以及?ApplicationBasePath。可以在?Startup?的構造函數和?Configure?方法中使用。 IHostingEnvironment 提供了當前的?EnvironmentName、WebRootPath?以及 Web 根文件提供者。可以在?Startup?的構造函數和?Configure?方法中使用。 ILoggerFactory 提供了創建日志的機制。可以在?Startup?的構造函數或?Configure?方法中使用。 IServiceCollection 當前容器中各服務的配置集合。只可在?ConfigureServices?方法中被使用,通過在該方法中配置可使服務在應用程序中可用。服務擴展
如果想一次注冊多個服務,而又不想在ConfigureServices方法中依次添加,該怎么辦呢? 我們只需要一個擴展方法就可以搞定 1 public static class ServiceCollectionExtension 2 { 3 public static void AddSomeServices(this IServiceCollection 4 services) 5 { 6 services.AddScoped(IFirstService, FirstService); 7 services.AddScoped(ISecondService,SecondService); 8 services.AddScoped(IThirdService, ThirdService); 9 } 10 }在ConfigureServices方法注冊一下即可:
1 services.AddSomeServices();? 這樣,一下子就注冊了3個服務,而不需要一一添加 (終)文檔信息
- 發表作者:? 半路獨行
- 發表出處:? 博客園
- 原文地址:? https://www.cnblogs.com/banluduxing/p/10704198.html
- 版權信息:本作品采用知識共享署名-非商業性使用-相同方式共享 4.0 國際許可協議進行許可。
?
感謝您的閱讀,如果您覺得閱讀本文對您有幫助,請點一下“推薦”按鈕。本文歡迎各位轉載,但是轉載文章之后必須在文章頁面中給出作者和原文連接。
轉載于:https://www.cnblogs.com/banluduxing/p/10704198.html
總結
以上是生活随笔為你收集整理的Asp .Net core 2 学习笔记(1) —— Starup的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [js] 对`a == (‘1‘||‘
- 下一篇: asp.net ajax控件工具集 Au