天天看點

ASP.NET MVC

首先說說它的機制

處理HTTP請求并生成響應是一個很長的過程。路由隻是這個過程的第一步。路由過程的最終結果是一個控制器。它将處理沒有映射到實體靜态檔案的請求。

如下圖

ASP.NET MVC

操作調用程式,是核心,主要負責協調所有必要的步驟來處理請求,操作調用程式接受控制器工廠和控制器上下文,後者是一個容器對象,包含了路由資料和HTTP請求資訊,

操作調用程式使用反射來建立標明控制器類的執行個體以及調用標明的方法,調用程式還會讀取HTTP上下文,路由資料和系統的DI容器

處理操作結果

控制器方法的操作結果是一個實作了IActionResult接口類,針對控制器方法可能想要傳回的輸出類型,如:HTML,Json,文本,二進制内容和特定的HTTP響應,

該接口隻有一個方法 ExecuteResultAsync。

ASP.NET MVC

操作調用程式調用這方法,将資料嵌入要處理的特定操作結果對象中。執行操作結果的最終效果是寫入HTTP響應輸出篩選器。

然後,操作調用程式運作其内部管道并傳回響應,。