1. 程式人生 > >ASP.NET Core管道與中介軟體

ASP.NET Core管道與中介軟體

ASP.NET Core管道和ASP.NET的事件驅動的管道有很大的不同,現在你可以在Startup檔案的Configure方法中呼叫Use,UseWhen,Map,MapWhen,Run方法來為特定的請求增加特定的處理邏輯。可以實現防盜鏈,日誌,許可權認證,事務處理等。

它的管線圖如下:

每個委託均可在下一個委託前後執行操作。 此外,委託還可以決定不將請求傳遞給下一個委託,這就是對請求管道進行短路。 通常需要短路,因為這樣可以避免不必要的工作。

使用 RunMap 和 Use 擴充套件方法來配置請求委託。 可將一個單獨的請求委託並行指定為匿名方法(稱為並行中介軟體),或在可重用的類中對其進行定義。 這些可重用的類和並行匿名方法即為中介軟體

,也叫中介軟體元件。 請求管道中的每個中介軟體元件負責呼叫管道中的下一個元件,或使管道短路

1. Run方法會使管道短路,所以最好把它放在最後

2. Use不會使管道短路,但也不會主動呼叫下一個管道,必須要顯式呼叫await next();才能進入下一個管道。在UseWhen中可巢狀呼叫Use繼續傳遞。

3. Map和MapWhen它可以匹配基於請求路徑建立請求管道分支,預設會使管道短路,也可以巢狀Use繼續傳遞。

一些常用的中介軟體:

  1. 異常/錯誤處理
  2. HTTP 嚴格傳輸安全協議
  3. HTTPS 重定向
  4. 靜態檔案伺服器
  5. Cookie 策略實施
  6. 身份驗證
  7. 會話
  8. MVC