ASP.NET Core MVC 和 Razor Pages 應用的完整請求處理管道


MVC請求例子:

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.UseResponseCaching();

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

 

RazorPages請求例子:

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.UseAuthentication();
    app.UseAuthorization();
    app.UseSession();

    app.UseEndpoints(endpoints =>
    {
        endpoints.MapRazorPages();
    });
}
  1. 異常/錯誤處理
    • 當應用在開發環境中運行時:
      • 開發人員異常頁中間件 (UseDeveloperExceptionPage) 報告應用運行時錯誤。
      • 數據庫錯誤頁中間件報告數據庫運行時錯誤。
    • 當應用在生產環境中運行時:
      • 異常處理程序中間件 (UseExceptionHandler) 捕獲以下中間件中引發的異常。
      • HTTP 嚴格傳輸安全協議 (HSTS) 中間件 (UseHsts) 添加 Strict-Transport-Security 標頭。
  2. HTTPS 重定向中間件 (UseHttpsRedirection) 將 HTTP 請求重定向到 HTTPS。
  3. 靜態文件中間件 (UseStaticFiles) 返回靜態文件,並簡化進一步請求處理。
  4. Cookie 策略中間件 (UseCookiePolicy) 使應用符合歐盟一般數據保護條例 (GDPR) 規定。
  5. 用於路由請求的路由中間件 (UseRouting)。
  6. 身份驗證中間件 (UseAuthentication) 嘗試對用戶進行身份驗證,然后才會允許用戶訪問安全資源。
  7. 用於授權用戶訪問安全資源的授權中間件 (UseAuthorization)。
  8. 會話中間件 (UseSession) 建立和維護會話狀態。Session Middleware (UseSession) establishes and maintains session state. 如果應用使用會話狀態,請在 Cookie 策略中間件之后和 MVC 中間件之前調用會話中間件。
  9. 用於將 Razor Pages 終結點添加到請求管道的終結點路由中間件(帶有 MapRazorPagesUseEndpoints)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM