Я пытаюсь загрузить Controller
из другой сборки, но я застрял здесь.
У меня есть два проекта:
- Веб-приложение
- Библиотека классов
В веб-приложении я определил Route
:
routes.MapRoute("Root", "root/{Action}",
new {Controller = "Root", Action = "Index" });
Теперь, когда я нажимаю следующий URL, маршрут совпадает, однако выдается ошибка 404. Кто-нибудь может сказать мне, почему это происходит? (p.s. RootController
находится в библиотеке классов)
http://webapp/root
Я пытался добавить фабрику пользовательских контроллеров:
public class ControllerFactory : DefaultControllerFactory {
protected override IController GetControllerInstance(RequestContext reqContext, Type controllerType)
{
// reqContext.Route is correct and has the "Root" route loaded
// controllerType seems to be null ??
// if I break execution here and manually set controllerType to
// typeof(ClassLibrary.RootController) and continue from there,
// then everything works as expected...
// So this method is being called without controllerType... but why??
}
}
Я также попытался добавить свойство namespaces
к маршруту:
routes.MapRoute("Root", "root/{Action}",
new {
Controller = "Root",
Action = "Index",
Namespaces = new[] { typeof(RootController).Namespace }
});