知识大全 ASP.NET MVC 4框架揭秘:URL路由(3)
Posted 知
篇首语:历览千载书,时时见遗烈。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ASP.NET MVC 4框架揭秘:URL路由(3)相关的知识,希望对你有一定的参考价值。
ASP.NET MVC 4框架揭秘:URL路由(3) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
URL路由( )
在Global asax中我们创建了一个基于指定URL模板( controller/action )的Route对象 并将其添加到通过RouteTable的静态只读属性Routes所表示的全局路由表中
UrlRoutingModule
路由表的作用是对当前的HTTP请求的URL进行解析 从而获取一个以Controller和Action名称为核心的路由数据 即上面介绍的RouteData对象 整个解析工作是通过一个类型为UrlRoutingModule的自定义HttpModule来完成的 如下面的代码片段所示 在实现了接口IHttpModule的UrlRoutingModule类型的Init方法中 我们注册了HttpApplicataion的PostResolveRequestCache事件
public class UrlRoutingModule: IHttpModule
public void Dispose()
public void Init(HttpApplication context)
context PostResolveRequestCache += OnPostResolveRequestCache;
protected virtual void OnPostResolveRequestCache(object sender EventArgs e)
HttpContextWrapper Context =
new HttpContextWrapper(HttpContext Current)
RouteData routeData = RouteTable Routes GetRouteData(Context)
if (null == routeData)
return;
RequestContext requestContext = new RequestContext
RouteData = routeData HttpContext = Context ;
IHttpHandler handler =
routeData RouteHandler GetHttpHandler(requestContext)
Context RemapHandler(handler)
当PostResolveRequestCache事件触发之后 UrlRoutingModule通过RouteTable的静态只读属性Routes得到表示全局路由表的RouteDictionary对象 然后调用其GetRouteData方法并传入用于封装当前HttpContext的HttpContextWrapper对象(HttpContextWrapper是HttpContextBase的子类)最终得到一个封装路由数据的RouteData对象 如果得到的RouteData不为Null 则根据该对象本身和之前得到的HttpContextWrapper对象创建一个表示当前请求上下文的RequestContext对象 将其作为参数传入RouteData的RouteHandler的GetHttpHandler方法得到一个HttpHandler对象 最后我们调用HttpContextWrapper对象的RemapHandler方法将得到的HttpHandler进行映射使之用于对当前HTTP请求的处理
返回目录 ASP NET MVC 框架揭秘
编辑推荐
ASP NET开发培训视频教程
Microsoft NET框架程序设计视频教程
Java程序性能优化 让你的Java程序更快 更稳定
cha138/Article/program/net/201311/16110相关参考
知识大全 ASP.NET MVC 4框架揭秘:Controller的激活与URL路由[1]
ASP.NETMVC4框架揭秘:Controller的激活与URL路由[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让
知识大全 ASP.NET MVC 4框架揭秘:Controller的激活与URL路由[2]
ASP.NETMVC4框架揭秘:Controller的激活与URL路由[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让
ASP.NETMVC4框架揭秘 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 第章ASPNET+
ASP.NETMVC4框架揭秘:默认实现 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nbs
ASP.NETMVC4框架揭秘:总体设计 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 第章&n
知识大全 ASP.NET MVC 4框架揭秘:ControllerFactory[2]
ASP.NETMVC4框架揭秘:ControllerFactory[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们
知识大全 ASP.NET MVC 4框架揭秘:ControllerFactory[1]
ASP.NETMVC4框架揭秘:ControllerFactory[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们
知识大全 ASP.NET MVC 4框架揭秘:Controller(1)
ASP.NETMVC4框架揭秘:Controller(1) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一
知识大全 ASP.NET MVC 4框架揭秘:Controller(3)
ASP.NETMVC4框架揭秘:Controller(3) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一