1、中間件 是處理請求和響應的組件(代碼段,一段處理邏輯),這個處理邏輯是以“前一個請求處理邏輯”為輸入,並經過中間件自己的處理后,返回一個“新的請求處理邏輯”,所以從代碼上可將“中間件”表式為以一個“請求處理邏輯”為輸入並返回另一個“請求處理邏輯”的委托,即Func<RequestDelegate,RequestDelegate> ;每一個中間件都可以決定是否繼續進入下一個管道、並且可以在進入下一個管道前后執行邏輯;他們彼此鏈接,形成管道;
這樣的機制使得HTTP請求能夠很好的被層層處理和控制,並且層次清晰處理起來甚是方便。
最后一個管道或者中斷管道的中間件叫終端中間件;
中間件的實現原理是通過委托
使用中間件有四種方法:Use、Run、Map和使用Middleware class,但前三種方法最終調用的都是Use方法
2、管道就是請求抵達服務器到響應結果返回的中間的一系列的處理過程