Requests based on ASP.net MVC Web applications are first passed through a UrlRoutingModule object (HTTP module). This module matches the request and performs a routing selection. This UrlRoutingModule object selects the first routed object that matches the current request. If there is no path match, the UrlRoutingModule does nothing and lets the request return to the regular asp.net or IIS to request processing.
From this selected route object, the UrlRoutingModule object obtains the Iroutehandler object (Iroutehandler object is interrelated with the route object). In general, in an MVC application, it will be an Mvcroutehandler instance. This Iroutehandler instance creates a IHttpHandler object and passes it to the Ihttpcontext object. By default, the MVC IHttpHandler instance is the Mvchandler object. Then, this Mvchandler object selection Controller,controller will eventually submit the request.
This module and handler are the entry points for the ASP.net MVC framework. They perform the following behaviors:
Choose the right controller.
Get a concrete controller instance.
Invokes the controller execution method.
The following table lists the stages of execution of an MVC Web project.