<register type="System.Web.Mvc.IControllerFactory, System.Web.Mvc" mapTo="IPSA.IOC.Unity.UnityControllerFactory,IPSA.IOC">
</register>
这个配置节点总是报错:给定程序集名称或基本代码无效。 (异常来自 HRESULT:0x80131047)
总是找不到System.Web.Mvc这个程序集,网上搜索了半天说是版本问题,我查看了版本都是MVC3啊,很郁闷,那位大哥帮忙解释一下
试试将type改为:
type="System.Web.Mvc.IControllerFactory,System.Web.Mvc,Version=3.0.0.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35"
改成这样就可以了,昏,要写什么详细啊!不过还是要麻烦你下,现在
public class UnityControllerFactory : DefaultControllerFactory
{ private IUnityContainer _container;
public UnityControllerFactory()
{ _container = UnityContext.Current.Container;
}
protected override IController GetControllerInstance(RequestContext requestContext, Type controllerType)
{ if (requestContext == null)
{ throw new ArgumentNullException("requestContext"); }
if (controllerType == null) {
throw new ArgumentNullException("controllerType");
}
IController controller = _container.Resolve(controllerType) as IController;
return controller;
}
}
执行到这里controllerType报值为null,是我那里没有注册吗?麻烦大哥解释下,不慎感激
@hello zly: 我写过一篇博客爱容易,相处难:当ASP.NET MVC爱上IoC
@dudu: 谢谢