.NET
Middleware
在ASP.NET Core使用Middleware取得 HTTP Request與Response資訊
2019/12/23 11:19:15
3
2824
Middleware概念
從ASP.NET Core的官方說明文件中,可以得知Middleware是個可以像管線(pipeline)般串起應用程式的軟體,所有的Request與Response都會經過,且多個Middleware可接連呼叫,如下圖:

Middleware基本結構
Middleware基本必須包含以下:
- 有RequestDelegate類型參數的公用建構函式
- 包含名為Invoke或InvokeAsync的公用方法,此方法必須回傳Task並接受HttpContext類型的第一個引數
建立Middleware並註冊
建立一個.NET Core專案後,首先建立一個LoggingMiddleware.cs檔案,並同時建立基本結構

在Startup.cs以UseMiddleware方式進行註冊

在Middleware上讀取Request與Response
建立FormatRequest方法來讀取HTTP Request

建立FormatResponse方法來讀取HTTP Response

在Invoke呼叫FormatRequest與FormatResponse方法

測試
建立一個Web API,傳入LoginParamModel,裡面包含Account與Password,並且回傳ReturnCode、ReturnMessage及ReturnData


取得結果

參考資料
