發送給基於 ASP.NET MVC 的 Web 應用程序的請求首先經過 UrlRoutingModule 對象(一個 HTTP 模塊)進行傳遞。 此模塊將分析請求並執行路由選擇。 UrlRoutingModule 對象將選擇與當前請求匹配的第一個路由對象。 (路由對象是實現 RouteBase 的類,而且一般是Route 類的實例。)若是任何路由都不匹配,則 UrlRoutingModule 對象不執行任何操做,並容許請求回退到常規的 ASP.NET 或 IIS 請求處理流程。web
從選定的 Route 對象中,UrlRoutingModule 對象將得到一個對象,所得到的對象將實現 IRouteHandler 接口並與 Route 對象關聯。一般,在 MVC 應用程序中,這將是 MvcRouteHandler 類的一個實例。 MvcRouteHandler 實例將建立一個實現 IHttpHandler 接口的MvcHandler 對象。 而後,MvcHandle 對象會選擇將最終處理該請求的控制器。 有關更多信息,請參見 ASP.NET 路由。json
注意:mvc
若是 ASP.NET MVC Web 應用程序運行在 IIS 7.0 中,則 MVC 項目不須要文件擴展名。 可是,在 IIS 6.0 中,處理程序要求將 .mvc 文件擴展名映射到 ASP.NET ISAPI DLL。app
UrlRoutingModule 和 MvcRouteHandler 類是 ASP.NET MVC 框架的入口點。 它們執行下列操做:框架
-
選擇 MVC Web 應用程序中合適的控制器。ide
-
獲取特定的控制器實例。ui
-
調用該控制器的 Execute 方法。this
下表列出了 MVC Web 項目的執行階段。url