Контроллер загружен не из другой сборки?

Я пытаюсь загрузить Controllerиз другой сборки, но я застрял здесь

У меня есть два проекта:

  1. Веб-приложение
  2. Библиотека классов

В веб-приложении я определилRoute:

routes.MapRoute("Root", "root/{Action}", 
                  new {Controller = "Root", Action = "Index" });

Теперь, когда я нажимаю следующий URL-адрес, маршрут совпадает, однако выдается ошибка 404., Кто-нибудь может сказать мне, почему это происходит?(ps 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 }                     
              });
5
задан svick 28 December 2012 в 21:16
поделиться