码迷,mamicode.com
首页 > Web开发 > 详细

学习ASP.NET MVC5框架揭秘笔记-ASP.NET路由(五)

时间:2015-05-22 21:15:16      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:mvc   .net   asp.net   

3VirtualPathDath

介绍完GetRouteData方法的返回类型RouteData之后,我们接着介绍一下RouteBaseGetVirtualPath方法的返回类型VirtualPathData。当RouteBaseGetVirtualPath方法被执行的时候,如果定义在路由模板中的变量与指定变量列表相匹配,它会使用指定的路由变量值去替换路由模板中对应的占位符并生成一个虚拟路径。生成的虚拟路径与Route对象最终被封装成一个VirtualPathData对象作为返回值,他们对应着这个返回的VirtualPathData对象的VirtualPathRoute属性。VirtualPathDataDataTokens属性和RouteData的同名属性一样都是来源于附加到Route对象的自定义变量集合。

public class VirtualPathData
{
public VirtualPathData(RouteBase route, string virtualPath);
public RouteValueDictionary DataTokens { get; }
public RouteBase Route { set; get; }
public string VirtualPath { set; get; }
}

RouteBaseGetVirtualPath方法具有一个类型为RequestContext的参数,一个RequestContext对象表示针对某个请求的上下文。从如下的代码片段中不难看出它实际上是对HTTP上下文和RouteData的封装。

public class RequestContext
{
public RequestContext(HttpContextBase httpContext,RouteData routeData);
public RequestContext();
public virtual HttpContextBase HttpContext { set; get; }
public virtual RouteData RouteData { set; get; }
}


学习ASP.NET MVC5框架揭秘笔记-ASP.NET路由(五)

标签:mvc   .net   asp.net   

原文地址:http://blog.csdn.net/yejinwei1220/article/details/45920581

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!