資料:將 HTTP 處理程序和模塊遷移到 ASP.NET Core 中間件 | Microsoft Learn
從處理程序和模塊到中間件
中間件比 HTTP 模塊和處理程序更簡單:
-
模塊、處理程序、
Global.asax.cs
、Web.config(IIS 配置除外)和應用程序生命週期已不存在 -
模塊和處理程序的角色由中間件接管
-
中間件使用代碼而不是在 Web.config 中進行配置
- 管道分支使你可以不僅基於 URL,而且基於請求標頭、查詢字符串等向特定中間件發送請求。
中間件與模塊非常相似:
-
原則上針對每個請求進行調用
-
能夠通過不將請求傳遞到下一個中間件來使請求短路
-
能夠創建自己的 HTTP 響應
中間件和模塊採用不同順序進行處理:
-
中間件的順序基於它們插入請求管道中的順序,而模塊的順序主要基於 System.Web.HttpApplication 事件。
-
針對響應的中間件順序與針對請求的順序相反,而模塊的順序對於請求和響應是相同的