知识大全 ASP.NET MVC 4框架揭秘:CBuilder(2)[2]

Posted 空间

篇首语:要须心地收汗马,孔孟行世目杲杲。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ASP.NET MVC 4框架揭秘:CBuilder(2)[2]相关的知识,希望对你有一定的参考价值。

ASP.NET MVC 4框架揭秘:CBuilder(2)[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  public class RouteConfig

  

  public static void RegisterRoutes(RouteCollection routes)

  

  //其他操作

  routes MapRoute(

  name: Default

  url: controller/action/id

  defaults: new controller = Home action = Index

  id = UrlParameter Optional

  namespaces: new string[] Artech MvcApp

  )

  

  

  再次运行我们的程序会在浏览器中得到如图 所示的结果 从中可以看出定义在命名空间 Artech MvcApp 中的HomeController被最终选用 可见较之作为当前ControllerBuilder的默认命名空间 在路由注册过程中执行的命名空间具有更高的匹配优先级 前者可以视为后者的一种后备 (S )

  图   在路由注册时指定的命名空

  间具有更高的匹配优先级

  在路由注册时指定的命名空间比当前ControllerBuilder的默认命名空间具有更高的匹配优先级 但是对于这两个集合中的所有命名空间却具有相同的匹配优先级 换句话说 用于辅助解析Controller类型的命名空间分为三个梯队 分别简称为路由命名空间 ConrollerBuilder命名空间和Controller类型命名空间 如果前一个梯队不能正确解析出目标Controller的类型 则后一个梯队的命名空间将作为后备 反之 如果根据某个梯队的命名空间进行解析得到多个匹配的Controller类型 会直接抛出异常

  针对Area的路由对象的命名空间

  针对某个Area的路由映射是通过相应的AreaRegistration进行注册的 具体来说是在AreaRegistration的RegisterArea方法中调用AreaRegistrationContext对象的MapRoute方法进行注册的 如果在调用MapRoute方法中指定了表示命名空间的字符串 它将自动作为注册的路由对象的命名空间 否则会将AreaRegistration的命名空间加上 * 后缀得到的字符串作为路由对象的命名空间

  这里所说的 路由对象的命名空间 存在于Route对象的DataTokens属性表示的RouteValueDictionary对象中 对应的Key为 Namespaces Value就是一个包含字符串数组的命名空间列表 通过第 章 URL路由 的介绍 Route对象的DataTokens属性包含的变量会转移到由它生成的RouteData的同名属性中

  除此之外 在调用AreaRegistrationContext的MapRoute方法时还会在注册Route对象的DataTokens属性中添加一个Key为 UseNamespaceFallback 的条目 它表示是否采用后备命名空间对Controller类型进行解析 如果注册的路由对象具有命名空间(调用MapRoute方法时指定了命名空间或者对应的AreaRegistration类型定义在某个命名空间下) 该条目的值为False 否则为True 该条目同样反映在通过该Route对象生成的RouteData对象的DataTokens属性中

       返回目录 ASP NET MVC 框架揭秘

       编辑推荐

       ASP NET开发培训视频教程

       Microsoft NET框架程序设计视频教程

       Java程序性能优化 让你的Java程序更快 更稳定

       Visual C++音频/视频技术开发与实战

cha138/Article/program/net/201311/16092

相关参考

知识大全 ASP.NET MVC 4框架揭秘:总体设计

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)小编为大家搜集整理后发布的内容,让我们赶快一起来看一

知识大全 ASP.NET MVC 4框架揭秘:Controller(2)[2]

ASP.NETMVC4框架揭秘:Controller(2)[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起

知识大全 ASP.NET MVC 4框架揭秘:Controller(2)[1]

ASP.NETMVC4框架揭秘:Controller(2)[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起

知识大全 ASP.NET MVC 4框架揭秘:CBuilder(1)[1]

ASP.NETMVC4框架揭秘:CBuilder(1)[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看

知识大全 ASP.NET MVC 4框架揭秘:CBuilder(1)[2]

ASP.NETMVC4框架揭秘:CBuilder(1)[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看