1. 程式人生 > >Asp.net core實戰8: 中介軟體

Asp.net core實戰8: 中介軟體

1.什麼是中介軟體?

 

在asp.net core中,中介軟體就是一些可以處理HTTP請求的C#類。他們可以:

1.處理輸入的請求,產生一個響應。

2.處理一個輸入的請求,修改它,並傳遞給另外一箇中間件。

3.接收一個響應,修改它並傳遞給另外的中介軟體或者Web伺服器。

 

2.一個MVC中介軟體的處理過程

1.Asp.net core 伺服器接受請求並傳遞至中介軟體管道。

2.日誌中介軟體記錄了訪問時間並傳遞給下一個中介軟體。

3.如果是處理圖片大小的,處理圖片大小的中介軟體就會進行處理,然後返回響應。如果不是,它會將請求轉發給下一個中介軟體。

4.MVC中介軟體處理請求,並且產生一個響應。

5.響應逆序依次通過中介軟體管道。

6.響應返回至Asp.net core 伺服器

 

3.常見的中介軟體操作有哪些?

 

1.將每條請求都寫入日誌。

2.將基本的安全頭部資訊新增到響應中。

3.將請求關聯到一個特定的使用者。

4.設定當前請求的語言。

 

 

2.身份驗證中介軟體將請求和一個使用者進行對應。

3.鑑權中介軟體鑑定該使用者是否有權訪問。

4.如果使用者沒有許可權,將會短路中介軟體管道,將訊息傳回web Server。否則將繼續傳遞給MVC中介軟體。

 

4.歡迎介面中介軟體的使用

 

在startup類中新增如下程式碼就可以使用歡迎介面的中介軟體:

 

5.靜態資源的中介軟體使用

 

在startup類中新增如下程式碼就可以使用靜態資源的中介軟體:

 

6.MVC中介軟體使用

 

在startup類中新增如下程式碼就可以使用MVC中介軟體:

 

7.錯誤處理中介軟體的使用

 

1.DeveloperExceptionPageMiddleware

這個中介軟體主要用於專案開發時的中介軟體,為的是可以暴露詳細的問題,幫助程式設計師解決問題。

2.ExceptionHandlerMiddleware

這個中介軟體主要是為了在管道中出現異常問題的時候,可以重新轉發處理請求。

 

 

3.StatusCodePagesMiddleware

這個中介軟體主要用於4xx或者5xx錯誤的處理。

也可以這麼使用:

{0}代表的是錯誤碼

可以到響應的動作方法中判斷錯誤碼相應返回錯誤頁面。

 

4.為WebAPI取消錯誤處理頁面,取而代之為狀態碼: