如何忽略在使用IoC和MVC时不存在的文件

时间:2016-05-02 14:17:19

标签: c# asp.net-mvc inversion-of-control

我正在将IoC与我的MVC应用程序一起使用,并且出于某种原因,只要文件不存在(主要是图像),它就会引发异常。

为什么要处理图像,这是正确的吗?

有没有办法让它以某种方式忽略图像或不抛出异常?

在我的global.asax中,我有这个:

ControllerBuilder.Current.SetControllerFactory(new MyControllerFactory ());

然后我的控制器工厂看起来是:

public class MyControllerFactory : DefaultControllerFactory
    {
        protected override IController GetControllerInstance(System.Web.Routing.RequestContext requestContext, Type controllerType)
        {
            if (controllerType == null)
            {
                throw new HttpException(404, "Not Found Error");   
            }

            MethodInfo method = Factory.Current.Container.GetType().GetMethods().Where(
                m => m.Name == "Resolve" && m.IsGenericMethod).First(m => m.GetParameters().Length == 0);

            return (IController)method.MakeGenericMethod(controllerType).Invoke(Factory.Current.Container, null);
        }
    }

0 个答案:

没有答案