.NET Core 3.0 中间件 Middleware
中間件官網(wǎng)文檔解釋:中間件是一種裝配到應用管道以處理請求和響應的軟件 每個中間件:
選擇是否將請求傳遞到管道中的下一個組件。
可在管道中的下一個組件前后執(zhí)行工作。
使用 IApplicationBuilder 創(chuàng)建中間件管道
ASP.NET?Core 請求管道包含一系列請求委托,依次調(diào)用。下圖演示了這一概念。沿黑色箭頭執(zhí)行。
IApplicationBuilder提供了三個擴展方法配置請求委托
- app.Run 作用添加一個終端中間件,因為不在向下傳遞請求,常常公開在管道末尾運行。實例代碼
app.Use 將多個請求委托鏈接在一起。next 參數(shù)表示管道中的下一個委托。可通過不 調(diào)用 next 參數(shù)使管道短路等同于aap.run。通??稍谙乱粋€委托前后執(zhí)行操作,如以下示例所示:
Map 擴展用作約定來創(chuàng)建管道分支。Map 基于給定請求路徑的匹配項來創(chuàng)建請求管道分支。如果請求路徑以給定路徑開頭,則執(zhí)行分支。實例代碼如下
自定義中間件
以下演示記錄api輸入輸出參數(shù)的中間件。
1.創(chuàng)建一個webapi項目,在默認的WeatherForecastController控制器中添加一個簡單的post方法,代碼如下
選擇之后默認代碼如下:
上面invoke不是異步的,我們自己可以改動,以下代碼展示 一個api請求的輸入?yún)?shù)和輸出信息的日志打印
控制臺上打印的信息如下:
總結(jié)
以上是生活随笔為你收集整理的.NET Core 3.0 中间件 Middleware的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C# 8 新特性 - 只读struct成
- 下一篇: 深入理解.NET Core的基元(二)