Ошибки контроллера / маршрутизации с помощью файлов js, img с использованием CommonServiceLocator ControllerFactory - PullRequest
0 голосов
/ 18 марта 2009

Я настроил приложение ASP.NET MVC RC2 для использования фабрики пользовательских контроллеров, поддерживаемой CommonServiceLocator (используя StructureMap). Маршрутизация и создание экземпляров контроллеров работает нормально, но по некоторым причинам я получаю исключения при попытке доступа к .js, .jpg или любому другому статическому файлу.

Вот код ControllerFactory:

public class CommonServiceLocatorControllerFactory : DefaultControllerFactory
{
    protected override IController GetControllerInstance(Type controllerType)
    {
        return (controllerType == null) ? 
           base.GetControllerInstance(controllerType) :  
           ServiceLocator.Current.GetInstance(controllerType) as IController;
    }
}

И исключение:

Не найден контроллер для пути '/someimage.jpg' или он не реализует IController.

Как я могу заставить фабрику или механизм маршрутизации обходить фабрику контроллеров?

Примечание: я буду использовать IIS7 / интегрированный режим, но ошибка возникает со встроенным веб-сервером для VS2K8.

Ответы [ 2 ]

1 голос
/ 19 марта 2009

Проблема была на самом деле из-за 404 ошибок - путь, который я запрашивал для статического содержимого, не существовал, и фабрика базовых контроллеров не могла обработать запрос, потому что не было ничего для доставки.

0 голосов
/ 18 марта 2009

Я очень сомневаюсь, что это как-то связано с ControllerFactory. Я только что посмотрел на исходный код DefaultControllerFactory.GetControllerInstance, и я не вижу никаких средств, с помощью которых это переопределение может вызвать ошибку, которую вы описываете. Вероятно, это связано с тем, как вы настроили свои маршруты. Взгляните на свою конфигурацию маршрутизации, напишите для нее модульные тесты, и если вы все еще не можете решить проблему, опубликуйте свои маршруты здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...