ASP.NET MVC - 什么是UrlRoutingModule?

13 asp.net-mvc asp.net-mvc-3 asp.net-mvc-2

我正在阅读MVC中的请求生命周期.我被困在了解下面这一行.

UrlRoutingModule拦截请求

查询 - 什么是UrlRoutingModule?

我在谷歌搜索了很多,但没有找到任何有用的

Ami*_*mit 23

对基于ASP.NET MVC的Web应用程序的请求首先通过该UrlRoutingModule对象,该对象是一个HTTP模块.该模块解析请求并执行路由选择.该UrlRoutingModule对象选择与当前请求匹配的第一个路由对象.(路由对象是实现的类,RouteBase通常是Route类的实例.)如果没有路由匹配,则UrlRoutingModule对象不执行任何操作,并使请求回退到常规ASP.NET或IIS请求处理.

从所选的Route对象中,该UrlRoutingModule对象获得实现该IRouteHandler接口并与该Route对象相关联的对象.通常,在MVC应用程序中,这将是MvcRouteHandler该类的实例.该MvcRouteHandler实例创建一个MvcHandler实现该IHttpHandler接口的对象.MvcHandler然后,该对象选择将最终处理请求的控制器.有关更多信息,请参阅ASP.NET路由.

UrlRoutingModuleMvcRouteHandler类的入口点的ASP.NET MVC框架.他们执行以下操作:

  • 在MVC Web应用程序中选择适当的控制器.

  • 获取特定的控制器实例.

  • 调用控制器的Execute方法.

参考