これは私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 は現在のコンテキストに存在しません
コントローラーファクトリーを使用する多くの方法を試しましたが、コード内のオブジェクトファクトリーを感じたときにこの問題が発生しました...本当に退屈でした