繁体   English   中英

无法在Asp.net MVC中使用StructureMap 4.5.2

[英]Can't using StructureMap 4.5.2 in Asp.net MVC

我是StructureMap的新手,正在使用4.5.2版。 我像这样在Global.asax中用StructureMap注册了DataContext:

void Application_Start(object sender, EventArgs e)
    {
        SetupIcoContainer();

        // Code that runs on application startup
        AreaRegistration.RegisterAllAreas();
        GlobalConfiguration.Configure(WebApiConfig.Register);
        RouteConfig.RegisterRoutes(RouteTable.Routes);
    }

    private void SetupIcoContainer()
    {
        var container = new StructureMap.Container(_ =>
        {
            _.For<Data.IUnitOfWork>().Singleton().Use(x => new Data.Database.DataContext());
        });
    }

我在我的存储库类中使用依赖项,如下所示:

var uow = new StructureMap.Container().GetInstance<Data.IUnitOfWork>();

但我得到这个错误:

没有注册默认实例,并且无法自动确定类型'Data.IUnitOfWork'

Data.IUnitOfWorkData.Database.DataContext和我的存储库类在另一个程序集中。 StructureMap不注册DataContext。

谢谢

var uow = new StructureMap.Container();

实例化一个不知道IUnitOfWork的新空容器。

您可以尝试在global.asax.cs中设置全局静态变量

最好的方法是将StructureMap用作MVC DependencyResolver

这里有一种方法如何从Asp.Net MVC 5依赖关系解析器获取Structuremap IContainer实例

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM