.NET Middleware

在ASP.NET Core使用Middleware取得 HTTP Request與Response資訊

沈蓓菁 2019/12/23 11:19:15
161

Middleware概念

 

ASP.NET Core的官方說明文件中,可以得知Middleware是個可以像管線(pipeline)般串起應用程式的軟體,所有的RequestResponse都會經過,且多個Middleware可接連呼叫,如下圖:

 

 

 

Middleware基本結構

 

Middleware基本必須包含以下:

  • RequestDelegate類型參數的公用建構函式
  • 包含名為InvokeInvokeAsync的公用方法,此方法必須回傳Task並接受HttpContext類型的第一個引數

 

 

建立Middleware並註冊

 

建立一個.NET Core專案後,首先建立一個LoggingMiddleware.cs檔案,並同時建立基本結構

 

Startup.csUseMiddleware方式進行註冊

 

 

Middleware上讀取RequestResponse

 

建立FormatRequest方法來讀取HTTP Request

 

建立FormatResponse方法來讀取HTTP Response

 

Invoke呼叫FormatRequestFormatResponse方法

 

測試

建立一個Web API,傳入LoginParamModel,裡面包含AccountPassword,並且回傳ReturnCodeReturnMessageReturnData

 

 

取得結果

 

參考資料

ASP.NET Core 中介軟體

撰寫自訂的ASP.NET Core中介軟體

 

 

沈蓓菁