short question:Несколько контроллеров по умолчанию для маршрута
Есть ли способ настроить несколько контроллеров по умолчанию в маршруте?
Long Объяснение:
Я создаю что-то похожее на portable area в MVC 5. В частности, я хочу, чтобы создать своего рода контроллер по умолчанию, который будет уволен из моего портативного компонента, если пользователь не создает его в его заявлении. Точнее:
- Предположим, у меня есть приложение MVC, которое устанавливает мою инфраструктуру через NuGet.
- Этот компонент устанавливает кучу представлений в папке
_framework
, а DLL получает ссылку и приложение MVC начинает наследовать от моегоFrameworkHTTPApplication
. - Этот базовый класс по умолчанию настраивает некоторые вещи, такие как Engine Engine Engine, который ищет представления в папке
_framework
и маршрутах по умолчанию. - Теперь я хочу, чтобы приложение могло создавать или не создавать свои
HomeController
: если они его не создают, фреймворк будет вызыватьFrameworkHomeController
(внутри библиотеки DLL), но если они его создают, он получает доступ к удару ~ /.
Я смог создать контроллер по умолчанию в фреймворке и правильно подключить его, но он не отступит. Это то, что показывает routeDebugger:
Как вы видите, у меня настроены оба маршрута (одинаковый URL-адрес, разные значения по умолчанию). То, что я ожидаю, будет: если контроллер Home
не существует, то следует называть FrameworkHome
.
Я играл с пространствами имен, но результат тот же.
Любые подсказки о том, как это сделать?
Он работал красиво. Одна вещь, я ошибался, это пространство имен; Я добавил его без части «Контроллеры», и это было проблемой. Как только я изменил маршрут, чтобы использовать все пространство имен, он начал работать отлично. –