日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

asp.net core 系列之Startup

發布時間:2023/12/4 asp.net 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 asp.net core 系列之Startup 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這篇文章簡單記錄 ASP.NET Core中 ,startup類的一些使用。

?一.前言

在 Startup類中,一般有兩個方法:

  • ConfigureServices 方法: 用來配置應用的 service 。?

  • Configure 方法:創建應用的請求處理管道

它們都在應用啟動時,被ASP.NET Core runtime 調用:

當應用的 host 被built(建立)時,Startup類被指定到應用中。

而在 Program 中,當 host builder 上的 Build 被調用時,應用的 host 被 built 。

而Startup類是通過調用WebHostBuilderExtensions.UseStartup<TStartup>方法指定的。

在startup類中,一種依賴注入的常見用法:

  • IHostingEnvironment? : 根據enviironment (環境) 配置 services .?

  • IConfiguration?: 讀取配置

  • ILoggerFactory?: 在Startup.ConfigureServices中創建 logger .?

注入IHostingEnvironment , 當定義不同環境的Startup (例如,StartupDevelopment 等),在運行時,選擇合適的Startup。?

二.ConfigureServices方法

它有三個特點:

  • 可選的?

  • 在調用Configure方法之前調用 ConfigureServices

  • Configuration options 按約定設置

1. 比較典型的是調用 Add{Service} 和 services.Configure{Service} 。例如:Configure Identity services.

?

2. host 可能會 在Startup方法被調用之前,配置一些服務。例如:The host.

?

在startup被調用之前,CreateDefaultBuilder方法配置了一個host 。

3. Add{Service}是IServiceCollection的擴展方法,下面是一些使用:

添加 services 到 service container 使它們在應用和Configure方法中可用。services方法可以通過 dependency injection 或 ApplicationServices 解析。

三.The Configure method

Configure方法用來指定應用怎樣 處理HTTP request。請求管道(request pipeline)通過添加中間組件到IApplicationBuilder實例中來配置。

ASP.NET Core 模板 配置的管道:

  • Developer Exception Page

  • Exception handler

  • HTTP Strict Transport Security (HSTS)

  • HTTPS redirection

  • Static files

  • General Data Protection Regulation (GDPR)

  • ASP.NET Core?MVC?and?Razor Pages

使用Use擴展方法添加一個或多個中間組件到請求管道。例如,UseMvc擴展方法添加 Routing Middleware 到請求管道 并且配置MVC 作為一個默認的處理器。

四.Convenience methods

不使用Startup類配置services和request processing pipeline。在host builder 上調用ConfigureServices和Configure的簡便方法。如果存在多個ConfigureServices的調用,會依次添加。如果存在多個Configure方法的調用,最后一個Configure的調用會被使用。

五.Extend Startup with startup filters (使用startup filter擴展 Startup)

使用 IStartupFilter ,在應用的Configure 中間件管道的開頭或末尾配置中間件。

IStartupFilter 實現Configure方法,它會接收和返回一個Action<IApplicationBuilder>。而IApplicationBuilder定義了一個類來配置一個應用的請求管道。

這些filters會按照添加到services container的順序被調用。

下面是一個例子:

RequestSetOptionsMiddleware

RequestSetOptionsMiddleware 中間件被配置在 RequestSetOptionsStartupFilter 類中:

IStartupFilter 在 ConfigureServices中被注冊到 service container, 并且從Startup類的外部增強Startup:

當option的查詢字符串存在時,中間件會在MVC中間件之前處理這個值

中間件的執行順序是按照IStartupFilter的注冊順序

六. 補充

這里晚上補充下?ApplicationServices?解析services的使用

參考網址:

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/startup?view=aspnetcore-2.2

?原文地址:https://www.cnblogs.com/Vincent-yuan/p/11105523.html


.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總?http://www.csharpkit.com?

總結

以上是生活随笔為你收集整理的asp.net core 系列之Startup的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。