在asp.net MVC2中使用多接口设置项目的最佳实践是什么?我开始一个项目,我们需要像一个典型的安排:Asp.net MVC2 URL结构 - 最佳实践
example.com/ - 最终用户界面
example.com/Admin/ - 现场管理
该网站将足够的参与只需拥有HomeController中的所有用户逻辑和AdminController中的所有管理逻辑都不是真正的选择。我读过有关使用多路由定义,但下面似乎并没有正常工作:
routes.MapRoute(
"Admin", // Route name
"Admin/{controller}/{action}/{id}", // URL with parameters
new { controller = "Admin", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
它会导致在主页上所有的链接指向example.com/Admin/local-part代替example.com/local-part。
我想避免为每个管理员控制器指定一个不同的MapRoute(每次从映射中省略{controller})。
我也读过关于在一个项目中设置不同的区域,但似乎它也会太涉及该项目的范围。
最后,我也读过你可以对MapRoutes设置约束,但是那部分的文档似乎让我感到困惑。有什么明显的我失踪了吗?如果没有,我是否应该记住有关asp.net结构的最佳实践?