То, что я пытаюсь сделать, - это динамическая маршрутизация для моего приложения.
Например, в Application_BeginRequest () я хочу получить текущий контроллер и определить, существует ли он. Если нет, я хочу добавить набор маршрутов, которые переопределяют маршрутизацию по умолчанию, чтобы мой URL выглядел следующим образом
mysite.com / термин из базы данных
Но, если «термин из базы данных» является допустимым контроллером, я хочу, чтобы он использовал маршрутизацию по умолчанию
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
У меня уже есть маршруты, которые я хочу. Теперь мне просто нужно получить текущий контроллер и определить, существует ли он. Если я не добавляю свои собственные маршруты, я получаю эту ошибку:
IControllerFactory 'MySite.Web.UnityControllerFactory' не вернул контроллер для контроллера с именем 'term from database'.
Есть ли способ использовать единство из глобального, чтобы определить, существует ли контроллер?
Спасибо!