Dot Net Core中间件内部运行机制

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
        app.UseDatabaseErrorPage();
    }
    else
    {
        app.UseExceptionHandler("/Error");
        app.UseHsts();
    }

    app.UseHttpsRedirection();
    app.UseStaticFiles();
    // app.UseCookiePolicy();

    app.UseRouting();
    // app.UseRequestLocalization();
    // app.UseCors();

    app.UseAuthentication();
    app.UseAuthorization();
    // app.UseSession();

    app.UseEndpoints(endpoints =>
    {
        endpoints.MapRazorPages();
        endpoints.MapControllerRoute(
            name: "default",
            pattern: "{controller=Home}/{action=Index}/{id?}");
    });
}

  

  1. 异常/错误处理
    • 当应用程序在开发环境中运行时:
      • 开发人员异常页面中间件(UseDeveloperExceptionPage)报告应用程序运行时错误。
      • 数据库错误页面中间件报告数据库运行时错误。
    • 当应用程序在生产环境中运行时:
      • 异常处理程序中间件(UseExceptionHandler)捕获以下中间件中引发的异常。
      • HTTP严格传输安全协议(HSTS)中间件(UseHsts)添加了Strict-Transport-Security标头。
  2. HTTPS重定向中间件(UseHttpsRedirection)将HTTP请求重定向到HTTPS。
  3. 静态文件中间件(UseStaticFiles)返回静态文件,并使进一步的请求处理短路。
  4. Cookie政策中间件(UseCookiePolicy)使该应用符合EU通用数据保护法规(GDPR)法规。
  5. 路由中间件(UseRouting)路由请求。
  6. 身份验证中间件(UseAuthentication)尝试在允许用户访问安全资源之前对用户进行身份验证。
  7. 授权中间件(UseAuthorization)授权用户访问安全资源。
  8. 会话中间件(UseSession)建立并维护会话状态。如果应用使用会话状态,请在Cookie策略中间件之后和MVC中间件之前调用会话中间件。
  9. 端点路由中间件(UseEndpoints带有MapRazorPages)将Razor Pages端点添加到请求管道。

引用:https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/?view=aspnetcore-3.1&tabs=windows

好好学习,天天向上。
原文地址:https://www.cnblogs.com/Zhengxue/p/13043949.html