Asp.net MVC 3路由表 - 路由
问题描述:
令我有我的Global.asaxAsp.net MVC 3路由表 - 路由
routes.MapRoute(
"404",
"{*url}",
new { controller = "Error", action = "PageNotFound" })
;
地区
和路线404路线。 如果请求是进入的global.asax路线,则在路由表中的路由的顺序是:
1)面积路线
2)的global.asax路由
3)404路由
但是,如果请求是进入的区域,则在路由表中的路由的顺序是:¨
1)的global.asax路由
2)4 04路线
3)面积路线
答
的路由在默认MVC应用程序所应用的顺序:
1)所在区域 2.)全球 3.)路由表
如此处所示的默认代码所示:
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
}
您会注意到区域和注册区域优先通过RegisterRoutes方法中注册的路由。为什么?当上面的代码用于注册路由表时,路由在整个路由列表中显示为FIRST。
因此,如果您的代码与下面的代码相同,而且您未按照正确的路线,则可能按照您在Area或Global.asax中配置路线的顺序排列。
但我不明白,我采取了打印屏幕和更新帖子 – 2012-02-06 21:12:17
这将是我们很难测试这一点。我们没有所有的路由或您试图命中测试的URL或您的路由未配置的配置。从您对web服务器的描述(未列出的IIS版本)的性能与另一个web服务器(IIS?或者在Cassini服务器中构建的Visual Studios?)。路线表中显示了多少总路线?你的图片显示#20,但不显示它后面是否有更多。你需要帮助给我们更多的信息。 – 2012-02-06 21:48:52