这是我的StructureMapControllerFactory
,我想在 mvc5 项目中使用它
public class StructureMapControllerFactory : DefaultControllerFactory
{
private readonly StructureMap.IContainer _container;
public StructureMapControllerFactory(StructureMap.IContainer container)
{
_container = container;
}
protected override IController GetControllerInstance(
RequestContext requestContext, Type controllerType)
{
if (controllerType == null)
return null;
return (IController)_container.GetInstance(controllerType);
}
}
我像这样配置了我的控制器工厂global.asax
:
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
var controllerFactory = new StructureMapControllerFactory(ObjectFactory.Container);
ControllerBuilder.Current.SetControllerFactory(controllerFactory);
AreaRegistration.RegisterAllAreas();
RouteConfig.RegisterRoutes(RouteTable.Routes);
}
}
但什么是 ObjectFactory
?为什么我找不到任何关于它的命名空间?为什么iv得到:
当前上下文中不存在名称 ObjectFactory
我尝试了许多使用控制器工厂的方法,当我感觉到代码中的对象工厂时,我遇到了这个问题......这真的让我很无聊