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取消錯誤處理頁面,取而代之為狀態碼: