Статические файлы обрабатываются Windsor и выдают ошибки, если не найдены - PullRequest
0 голосов
/ 24 сентября 2011

Я только что заметил, что статические файлы обрабатываются (я полагаю, это нормально), но проблема в том, что если файл не существует, он, кажется, вызывает исключение здесь:GetControllerInstance.

Имеет ли это смысл?Должен ли я поставить дополнительные проверки, чтобы убедиться, что это обрабатываемый класс?

Ошибка:

The controller for path '/Assets/img/logo.png' could not be found.

Ответы [ 2 ]

0 голосов
/ 25 сентября 2011

Если controllerType имеет значение null, передать его в базовый класс или вернуть null

public class WindsorControllerFactory : DefaultControllerFactory
{
    private readonly IKernel _kernel;

    public WindsorControllerFactory(IKernel kernel)
    {
        this._kernel = kernel;
    }

    public override void ReleaseController(IController controller)
    {
        _kernel.ReleaseComponent(controller);
    }

    protected override IController GetControllerInstance(RequestContext requestContext, Type controllerType)
    {
        if (controllerType == null)
            return base.GetControllerInstance(requestContext, controllerType);

        return (IController)_kernel.Resolve(controllerType);
    }
}

Образец Ninjet: https://github.com/ninject/ninject.web.mvc/blob/master/mvc2/src/Ninject.Web.Mvc/NinjectControllerFactory.cs

0 голосов
/ 24 сентября 2011

Вы можете попробовать , исключая статические файлы от обработки обработчиком ASP.NET MVC, для повышения производительности.

...