asp.net MVC 路由注册

1.命名空间的优先级

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

2. Area 的路由对象的命名空间

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

 

posted @ 2015-01-27 15:24  thanks_boy  阅读(310)  评论(0编辑  收藏  举报