Каковы лучшие практики для настройки проектов с несколькими интерфейсами в 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.
Я бы хотел не указывать разные MapRoute для каждого контроллера администратора (исключая {controller} из отображения каждый раз).
I 'Мы также читали о настройке различных областей в проекте, но кажется, что для сферы действия этого проекта слишком .
Наконец, я также прочитал, что вы можетеналожил ограничения на MapRoutes, но документация по этой части меня смущает.Есть ли что-то очевидное, что мне не хватает?Если это не удастся, есть ли какие-то передовые практики для структуры asp.net, о которых мне следует помнить?