在ASP.NET MVC2中设置具有多个接口的项目的最佳实践是什么?我正在启动一个项目,我们需要一个典型的安排,比如:
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。
我希望避免为每个管理控制器指定不同的映射路由(每次都从映射中省略控制器)。
我也读过关于在一个项目中设置不同区域的文章,但这似乎是
太
参与本项目的范围。
最后,我还了解到您可以对maproutes设置约束,但这部分的文档对我来说似乎很混乱。有什么明显的我不见了吗?如果不能做到这一点,我是否应该记住ASP.NET结构的任何最佳实践?