Asp .Net core 2 学习笔记(1) —— Starup
生活随笔
收集整理的這篇文章主要介紹了
Asp .Net core 2 学习笔记(1) —— Starup
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
這個(gè)系列的初衷是便于自己總結(jié)與回顧,把筆記本上面的東西轉(zhuǎn)移到這里,態(tài)度不由得謹(jǐn)慎許多,下面是我參考的資源:
?ASP.NET Core 中文文檔目錄
官方文檔
記在這里的東西我會(huì)不斷的完善豐滿,對(duì)于文章里面一些局限于我自己知識(shí)積累的觀點(diǎn),希望沒有跳走堅(jiān)持看完的朋友,能夠予以指正和鼓勵(lì).
?
系列目錄
(1)Starup
(2)中間件
(3)靜態(tài)文件
?
?
基礎(chǔ)知識(shí)
在 ASP.NET Core 中,Startup?類提供了應(yīng)用程序的入口,所有應(yīng)用程序中都有?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?類中的公開可選方法,用來配置應(yīng)用程序內(nèi)的服務(wù),通過參數(shù)獲取一個(gè)IServiceCollection?實(shí)例并可選地返回?IServiceProvider.服務(wù)必須在服務(wù)容器中注冊(cè)后,才可在應(yīng)用和 Configure 方法中使用.例如:控制器中的構(gòu)造注入,就需要先在該方法中注冊(cè),此時(shí)服務(wù)容器可以看作是IOC容器 Configure:Startup?類中的必選方法,用于指定 ASP.NET 應(yīng)用程序?qū)⑷绾雾憫?yīng)每一個(gè) HTTP 請(qǐng)求。簡(jiǎn)單來說,你可以配置每個(gè)請(qǐng)求都接收相同的響應(yīng)。通常將復(fù)雜的管道配置封裝于?中間件(middleware)?之中,并通過擴(kuò)展方法添加到?IApplicationBuilder?上。Configure?方法必須接受一個(gè)?IApplicationBuilder?參數(shù). Warnning ConfigureServices?需要在?Configure?之前被調(diào)用。這一點(diǎn)非常重要,這是因?yàn)橄?ASP.NET MVC 中的某些功能,需要從?ConfigureServices?中請(qǐng)求某些服務(wù),而這些服務(wù)需要在接入請(qǐng)求管道之前先被加入?ConfigureServices?中。可用服務(wù)
ASP.NET Core 在應(yīng)用程序啟動(dòng)期間提供了一些默認(rèn)注冊(cè)的應(yīng)用服務(wù)和對(duì)象。你可以非常簡(jiǎn)單地使用這些服務(wù),只需要在在?Startup?類的構(gòu)造函數(shù)或是它的?Configure?與?ConfigureServices?方法中的一個(gè)包含合適的接口即可。下面定義了在?Startup?類中對(duì)每個(gè)方法可用的服務(wù)。框架服務(wù)和對(duì)象包括: IApplicationBuilder 被用于構(gòu)建應(yīng)用程序的請(qǐng)求管道。只可以在?Startup?中的?Configure?方法里使用 IApplicationEnvironment 提供了訪問應(yīng)用程序?qū)傩?#xff0c;類似于ApplicationName?、ApplicationVersion?以及?ApplicationBasePath。可以在?Startup?的構(gòu)造函數(shù)和?Configure?方法中使用。 IHostingEnvironment 提供了當(dāng)前的?EnvironmentName、WebRootPath?以及 Web 根文件提供者??梢栽?Startup?的構(gòu)造函數(shù)和?Configure?方法中使用。 ILoggerFactory 提供了創(chuàng)建日志的機(jī)制??梢栽?Startup?的構(gòu)造函數(shù)或?Configure?方法中使用。 IServiceCollection 當(dāng)前容器中各服務(wù)的配置集合。只可在?ConfigureServices?方法中被使用,通過在該方法中配置可使服務(wù)在應(yīng)用程序中可用。服務(wù)擴(kuò)展
如果想一次注冊(cè)多個(gè)服務(wù),而又不想在ConfigureServices方法中依次添加,該怎么辦呢? 我們只需要一個(gè)擴(kuò)展方法就可以搞定 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方法注冊(cè)一下即可:
1 services.AddSomeServices();? 這樣,一下子就注冊(cè)了3個(gè)服務(wù),而不需要一一添加 (終)文檔信息
- 發(fā)表作者:? 半路獨(dú)行
- 發(fā)表出處:? 博客園
- 原文地址:? https://www.cnblogs.com/banluduxing/p/10704198.html
- 版權(quán)信息:本作品采用知識(shí)共享署名-非商業(yè)性使用-相同方式共享 4.0 國(guó)際許可協(xié)議進(jìn)行許可。
?
感謝您的閱讀,如果您覺得閱讀本文對(duì)您有幫助,請(qǐng)點(diǎn)一下“推薦”按鈕。本文歡迎各位轉(zhuǎn)載,但是轉(zhuǎn)載文章之后必須在文章頁(yè)面中給出作者和原文連接。
轉(zhuǎn)載于:https://www.cnblogs.com/banluduxing/p/10704198.html
總結(jié)
以上是生活随笔為你收集整理的Asp .Net core 2 学习笔记(1) —— Starup的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [js] 对`a == (‘1‘||‘
- 下一篇: ffmpeg可支持的编码器、解码器、封装