StatusCodePagesMiddleware中間件與ExceptionHandlerMiddleware中間件比較類似,它們都是在后續(xù)請求處理過程中“出錯(cuò)”的情況下利用一個(gè)錯(cuò)誤處理器來完成最終的請求處理與響應(yīng)的任務(wù)。它們之間的差異在于對“錯(cuò)誤”的界定上,對于ExceptionHandlerMiddleware中間件來說,它所謂的錯(cuò)誤就是拋出異常,但是對于StatusCodePagesMiddleware中間件來說,則將介于400~599之間的響應(yīng)狀態(tài)碼視為錯(cuò)誤。如下面的代碼片段所示,StatusCodePagesMiddleware中間件也采用“標(biāo)準(zhǔn)”的定義方式,針對它的配置選項(xiàng)通過一個(gè)對應(yīng)的對象以O(shè)ptions模式的形式提供給它。 [本文已經(jīng)同步到《ASP.NET Core框架揭秘》之中]

   1: public class StatusCodePagesMiddleware
   2: {
   3:     public StatusCodePagesMiddleware(RequestDelegate next, IOptions<StatusCodePagesOptions> options);
   4:     public Task Invoke(HttpContext context);
        		

網(wǎng)友評論