国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

ASP.NET Core中間件設置教程(7)

來源:懂視網 責編:小采 時間:2020-11-27 22:35:31
文檔

ASP.NET Core中間件設置教程(7)

ASP.NET Core中間件設置教程(7):Asp.Net Core-中間件 在這一章,我們將了解如何設置中間件。中間件技術在 ASP.NET Core中控制我們的應用程序如何響應 HTTP 請求。它還可以控制應用程序的異常錯誤,這是一個在如何進行身份驗證和授權用戶執行特定的操作的關鍵。 中間件是組裝成應用的管道
推薦度:
導讀ASP.NET Core中間件設置教程(7):Asp.Net Core-中間件 在這一章,我們將了解如何設置中間件。中間件技術在 ASP.NET Core中控制我們的應用程序如何響應 HTTP 請求。它還可以控制應用程序的異常錯誤,這是一個在如何進行身份驗證和授權用戶執行特定的操作的關鍵。 中間件是組裝成應用的管道

Asp.Net Core-中間件

在這一章,我們將了解如何設置中間件。中間件技術在 ASP.NET Core中控制我們的應用程序如何響應 HTTP 請求。它還可以控制應用程序的異常錯誤,這是一個在如何進行身份驗證和授權用戶執行特定的操作的關鍵。

  • 中間件是組裝成應用的管道來處理請求和響應的軟件組件。
  • 每個組件可以選擇是否要在管道中將請求傳遞到下一個組件,并可以在管道中執行某些操作之前和之后的任務。
  • Request委托用于構建請求管道。Request委托用來處理每個HTTP請求。
  • 每件中間件在 ASP.NET Core都是一個對象,并且每一塊有非常具體、 專注和有限的作用。
  • 最終,我們需要很多的中間件為應用程序提供適當的行為。
  • 現在讓我們假設我們想將每個對我們應用程序的請求都記錄日志。

  • 在這種情況下,我們安裝到應用程序中的第一塊中間件是一個日志組件。
  • 這個日志程序可以看到一切傳入的請求,然后該中間件只是記錄一些信息,然后傳遞這個請求下一個塊中間件。
  • 中間件是以一系列的組件出現在這個處理管道中。
  • 我們安裝到應用程序的下一個中間件是一個授權組件。
  • 一個組件可能是尋找特定cookie或訪問HTTP標頭中的令牌。
  • 如果授權組件發現一個令牌,它允許請求繼續。
  • 如果不是,授權組件本身可能會響應請求的HTTP錯誤代碼或將用戶重定向到登錄頁面。
  • 否則,授權組件將請求傳遞給下一個路由器的中間件。
  • 一個路由器查看URL,并確定下一步的行動。
  • 路由器是在做一些回應,如果路由器沒有找到任何回應,路由器本身可能會返回404 Not Found錯誤。
  •  案例

    現在讓我們通過一個簡單的例子來理解更多關于中間件的知識。我們通過使用我們的啟動類的Configure方法來配置中間件組件。

    using Microsoft.AspNet.Builder; 
    using Microsoft.AspNet.Hosting; 
    using Microsoft.AspNet.Http; 
    using Microsoft.Extensions.DependencyInjection; 
    using Microsoft.Extensions.Configuration; 
    namespace FirstAppDemo { 
     public class Startup { 
     public Startup() { 
     var builder = new ConfigurationBuilder() 
     .AddJsonFile("AppSettings.json"); 
     Configuration = builder.Build(); 
     } 
     public IConfiguration Configuration { get; set; } 
     
     // This method gets called by the runtime. 
     // Use this method to add services to the container. 
     // For more information on how to configure your application, 
     // visit http://go.microsoft.com/fwlink/?LinkID=398940 
     public void ConfigureServices(IServiceCollection services) { 
     } 
     
     // This method gets called by the runtime. 
     // Use this method to configure the HTTP request pipeline. 
     public void Configure(IApplicationBuilder app) { 
     app.UseIISPlatformHandler(); 
     
     app.Run(async (context) => { 
     var msg = Configuration["message"]; 
     await context.Response.WriteAsync(msg); 
     }); 
     } 
     // Entry point for the application. 
     public static void Main(string[] args) => WebApplication.Run<Startup>(args); 
     } 
    }
    

    Configure()方法內,我們將調用IApplicationBuilder接口的擴展方法來添加中間件。

     默認情況下在一個新的空項目有兩塊中間件-

    IISPlatformHandler

    Middleware registered with app.Run

    IISPlatformHandler

    IISPlatformHandler允許我們使用Windows身份驗證。它將著眼于每個傳入請求,看看是否有任何Windows身份信息相關的請求,然后調用下一個塊中間件。

    Middleware registered with app.Run

    在這種情況下一個中間件在app.Run中注冊的中間件。Run方法允許我們傳入另一種方法,我們可以使用它來處理每一個響應。Run方法不是你經常會看到的,我們可以稱它為一個中間件的終端。

    你注冊運行的中間件將永遠不會有機會調用另一個中間件,它唯一能做的就是接收請求,便要產生某種反應。

    你也訪問到一個響應對象,你可以在響應對象中添加一些字符串。

    如果你想在app.Run之后注冊另一個中間件,這段中間件將永遠不會被調用,因為Run方法是一個中間件的終端。它不會調用下一個塊中間件。

    如何添加一個中間件

    讓我們著手進行以下步驟來添加另一個中間件 −

    步驟1−右鍵單擊項目并選擇Manage NuGet Packages。

    步驟2−搜索 Microsoft.aspnet.diagnostics,此特定的軟件包包含許多不同種的中間件,我們可以使用。

    步驟3−如果該包沒有安裝在您的項目中,那選擇安裝這個包。

    步驟4−現在讓我們在Configure()方法調用app.UseWelcomePage中間件。

    // This method gets called by the runtime. 
    // Use this method to configure the HTTP request pipeline. 
    public void Configure(IApplicationBuilder app) { 
     app.UseIISPlatformHandler(); 
     app.UseWelcomePage(); 
     
     app.Run(async (context) => { 
     var msg = Configuration["message"]; 
     await context.Response.WriteAsync(msg); 
     }); 
    

    步驟 5 − 運行您的應用程序,您將看到以下的歡迎屏幕。

    這個歡迎屏幕可能不是那么有用。

    步驟6−讓我們試試別的東西,可能是更有用的,而不是使用歡迎頁面,我們將使用RuntimeInfoPage。

    // This method gets called by the runtime. 
    // Use this method to configure the HTTP request pipeline. 
    public void Configure(IApplicationBuilder app) { 
     app.UseIISPlatformHandler(); 
     app.UseRuntimeInfoPage(); 
     
     app.Run(async (context) => { 
     var msg = Configuration["message"]; 
     await context.Response.WriteAsync(msg); 
     }); 
    }

    第 7 步 − 保存您的 Startup.cs 頁面并刷新您的瀏覽器,你會看到下面的頁面。

    這個 RuntimeInfoPage 是中間件,將只響應一個特定的 URL 的請求。如果傳入的請求與該 URL 不匹配,這個中間件只是讓請求傳遞到下一件中間件。該請求將通過 IISPlatformHandler 中間件,然后轉到 UseRuntimeInfoPage 中間件。它不會創建響應,所以它會轉到我們的應用程序。運行并顯示該字符串。

    步驟8−我們在URL結尾添加“ runtimeinfo”。現在,您將看到一個頁面,該頁面是由中間件運行時信息頁面。

    你將看到一個返回頁面,它給你展示了一些關于你的運行時環境,如操作系統、運行時版本,結構,類型和您正在使用的所有包的信息。

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    ASP.NET Core中間件設置教程(7)

    ASP.NET Core中間件設置教程(7):Asp.Net Core-中間件 在這一章,我們將了解如何設置中間件。中間件技術在 ASP.NET Core中控制我們的應用程序如何響應 HTTP 請求。它還可以控制應用程序的異常錯誤,這是一個在如何進行身份驗證和授權用戶執行特定的操作的關鍵。 中間件是組裝成應用的管道
    推薦度:
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 成人免费久久精品国产片久久影院 | 91欧美激情一区二区三区成人 | 成人a毛片久久免费播放 | 亚洲精品国产综合一线久久 | 在线免费观看国产视频 | 精品一区二区三区免费毛片爱 | 亚洲精品乱码久久久久久v 亚洲精品免费观看 | 欧美人xxx | 欧美不卡一区二区三区 | 日韩a无v码在线播放免费 | 一区二区三区视频 | 亚洲欧洲日韩在线 | 一级毛片视频播放 | 日韩在线欧美在线 | 亚欧美 | 国产精品亚洲一区二区三区在线播放 | 国产视频在 | 欧美日韩国产亚洲一区二区三区 | 日韩电影院 | 国产精品视频久久久 | 久久精品无遮挡一级毛片 | 国产精品美女流白浆视频 | 在线 v亚洲 v欧美v 专区 | 精品一区二区三区四区五区六区 | 日韩www视频 | 中文字幕第4页 | 美女一级a毛片免费观看 | 国产精品毛片va一区二区三区 | 欧美aa在线观看 | 天天做天天爱夜夜爽毛片毛片 | 久久成人精品 | 国产九九精品 | 欧美另类一区 | 国内一区二区三区精品视频 | 成人无码一区二区片 | 91原创国产| 国产精品成人一区二区 | 99久久99这里只有免费的精品 | 久久伊 | 韩国美女vip福利一区 | 欧美色图一区二区 |