У меня интересная проблема с маршрутизацией в приложении ASP.NET MVC. Я создаю CMS, и у меня есть универсальный обработчик, который берет URL-адрес и проверяет, есть ли какой-либо соответствующий контент в базе данных. Если это так, он отображает его, в противном случае мы получаем 404.
Теперь у меня есть вся эта работа с некоторыми тестовыми данными, я перешел к написанию быстрой системы администрирования. Я подумал, что буду использовать некоторые из новых функций Area, встроенных в MVC 2, поэтому я создал область с именем Admin с контроллером под названием Home.
Однако теперь у меня возникла проблема с возвратом HomeController по умолчанию в административной области при запросе корневого пути приложения.
Проблема в том, что нет другого HomeController для «корневого» приложения (в котором размещены все области), вместо этого корень будет перенаправлен на обработчик my catch-all и заполнен из базы данных. Так что теперь фабрика контроллеров возвращает лучший соответствующий контроллер, который, по его мнению, относится к области администратора, и мне действительно нужно, чтобы он вообще не совпадал с ним - как это было ранее.
Помимо переименования Admin HomeController в другое, есть ли другое решение?