标签:execution framework tle app fir use list imp tag
Requests to an ASP.NET MVC-based Web application first pass through the UrlRoutingModule object, which is an HTTP module.
This module parses the request and performs route selection.
The UrlRoutingModule object selects the first route object that matches the current request. (A route object is a class that implements RouteBase, and is typically an instance of the Route class.)
If no routes match, the UrlRoutingModule object does nothing and lets the request fall back to the regular ASP.NET or IIS request processing.
UrlRoutingModule选择第一个匹配的route object
From the selected Route object, the UrlRoutingModule object obtains the IRouteHandler object that is associated with the Route object.
Typically, in an MVC application, this will be an instance of MvcRouteHandler. The IRouteHandler instance creates an IHttpHandler object and passes it the IHttpContext object.
By default, the IHttpHandler instance for MVC is the MvcHandler object. The MvcHandler object then selects the controller that will ultimately handle the request.
UrlRoutingModule会从选择的route object中获取和route object相关的route handler,一般来讲是MvcRouteHandler
Route Handler会创建一个HttpHandler,并且传递HttpContext给HttpHandler,一般来讲是MvcHandler。MvcHandler负责选择Controller
Note
When an ASP.NET MVC Web application runs in IIS 7.0, no file name extension is required for MVC projects. However, in IIS 6.0, the handler requires that you map the .mvc file name extension to the ASP.NET ISAPI DLL.
The module and handler are the entry points to the ASP.NET MVC framework. They perform the following actions:
The following lists the stages of execution for an MVC Web project:
Receive first request for the application
Perform routing
Create MVC request handler
Create controller
Execute controller - The MvcHandler instance calls the controller s Execute method. |
Invoke action
Execute result
Understanding the ASP.NET MVC Execution Process
标签:execution framework tle app fir use list imp tag
原文地址:https://www.cnblogs.com/chucklu/p/11381362.html