本篇文章介紹ASP.NET Core里,用來處理HTTP封包的Middleware,為自己留個紀(jì)錄也希望能幫助到有需要的開發(fā)人員。

結(jié)構(gòu)

  • 在ASP.NET Core里,每個從「瀏覽器傳入」的HTTP Request封包,會被系統(tǒng)封裝為「HttpRequest對象」,并且配置默認(rèn)的HttpResponse對象、Session對象、ClaimsPrincipal對象...等等物件。接著將這些對象,封裝成為一個「HttpContext對象」,用來提供ASP.NET Core后續(xù)使用。

  • ASP.NET Core在收到HttpContext之后,會把它交給一個「Pipeline」去處理。這個Pipeline里面配置很多「Middleware」。系統(tǒng)會將HttpContext,依序傳遞給Pipeline里的Middleware去處理。每個Middleware會依照自己內(nèi)部的程序邏輯,來運(yùn)算處理HttpContext,并且變更HttpContext所封裝的對象內(nèi)容。