天天看點

中間件-異常處理

帶着問題去思考!大家好!

處理異常的方式有

  • 1:異常處理頁
  • 2:異常處理匿名委托方法
  • 3:IExceptionFilter
  • 4:ExceptionFilterAttribut

 這裡我們可以 新建立一個Startup,實作我們定義的IStartup接口,接口的定義主要是為了實作其他的服務注冊和配置應用程式請求管道(IApplicationBuilder)。

/// <summary>

/// 配置應用程式啟動時異常進行中間件

/// </summary>

public class ErrorHandlerStartup : IStartup

{

/// <summary>

/// Add and configure any of the middleware

/// </summary>

/// <param name="services">Collection of service descriptors</param>

/// <param name="configuration">Configuration root of the application</param>

public void ConfigureServices(IServiceCollection services, IConfiguration configuration)

{

}

/// Configure the using of added middleware

/// <param name="application">Builder for configuring an application's request pipeline</param>

public void Configure(IApplicationBuilder application)

{

//異常處理

application.UseExceptionHandler();

//400處理

application.UseBadRequestResult();

//404處理

application.UsePageNotFound();

}

這裡的三個方法分别實作了以上處理方式

第一個方法我們實作了IApplicationBuilder的UseExceptionHandler

1:這裡具體我們通過Run來進行啟動

2:通過HttpContext的IFeatureCollection(表示HTTP特性的集合) 來擷取Error

View Code

第二個方法IApplicationBuilder的UseStatusCodePages(添加帶有給定選項的StatusCodePages中間件,用于檢查狀态代碼在400到599之間且沒有正文的響應。)來實作

第三種我們通過IApplicationBuilder的UseStatusCodePages