我正在将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);
}
}