【发布时间】:2017-02-28 12:58:43
【问题描述】:
这是我的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 是什么?为什么我找不到任何关于它的命名空间?为什么我得到了:
名称 ObjectFactory 在当前上下文中不存在
我尝试了很多使用控制器工厂的方法,当我觉得代码中的对象工厂时,我遇到了这个问题......这真的让我很无聊
【问题讨论】:
标签: model-view-controller dependency-injection structuremap controller-factory