路由解析分析,主要说明路由解析的主要流程,也就是路由解析管道,实现路由解析的UrlRoutingModule类、IRouteHandler接口和IHttpHandler接口。
UrlRoutingModule类是ASP.NET3.5 MVC 网站中处理程序的入口,每当用户在浏览器中键入一个URL地址,就发出一个用户请求,UrlRoutingModule类就响应用户的请求,处理用户的请求;
检索RoutTable类中的RoutCollection集合,获得匹配的路由;
通过路由解析,得到Route类的实例化对象;
将用户的请求分发到实现接口IRouteHandler的路由处理程序,并输入RequestContext参数;
最后再次分发到实现接口IHttpHandler的MvcHandler处理程序,定位到相关的控制器,从而执行控制器中的相关动作方法,实现响应的输出。
UrlRoutingModule类
UrlRoutingModule类主要实现路由的处理,如检索、匹配等解析过程。
使用时在Web.Config中的配置:
<httpModules> <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> </httpModules>
IRouteHandler接口
UrlRoutingModule类在获得URL路由后,将用户的请求分发到实现接口 IRouteHandler的MvcRouteHandler类,并传入RequestContext参数。