Структура карты поиска скриптов контроллера каждой страницы - PullRequest
4 голосов
/ 27 февраля 2010

Я успешно настроил структурную карту, но каждая страница ищет контроллер с именем «scripts»

 public class StructureMapControllerFactory : DefaultControllerFactory
    {
        public override IController CreateController(RequestContext context, string controllerName)
        {
            Type controllerType = base.GetControllerType(context, controllerName);
            return ObjectFactory.GetInstance(controllerType) as IController;
        }
    }

Это происходит потому, что строка параметра ControllerName всегда приходит со строкой "scripts"

Ответы [ 2 ]

1 голос
/ 28 февраля 2010

Проблема может заключаться в том, что запросы сценариев обрабатываются механизмом маршрутизации. Вы должны настроить маршруты так, чтобы механизм маршрутизации игнорировал сценарии, значки избранного, изображения и т. Д.

0 голосов
/ 28 февраля 2010

Попробуйте переопределить GetControllerInstance вместо CreateController:

public class StructureMapControllerFactory : DefaultControllerFactory
{
    protected override IController GetControllerInstance(Type controllerType)
    {
        return (IController)ObjectFactory.GetInstance(controllerType);
    }
}
...