简体   繁体   English

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

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

I'm new to StructureMap and i'm using version 4.5.2. 我是StructureMap的新手,正在使用4.5.2版。 I registered my DataContext with StructureMap in Global.asax like this: 我像这样在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());
        });
    }

and I'm using the dependency in my repository class like this: 我在我的存储库类中使用依赖项,如下所示:

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

but i get this error: 但我得到这个错误:

No default Instance is registered and cannot be automatically determined for type 'Data.IUnitOfWork' 没有注册默认实例,并且无法自动确定类型'Data.IUnitOfWork'

The Data.IUnitOfWork , Data.Database.DataContext and my Repository class are in another assembly. Data.IUnitOfWorkData.Database.DataContext和我的存储库类在另一个程序集中。 The StructureMap doesn't register the DataContext. StructureMap不注册DataContext。

Thanks 谢谢

var uow = new StructureMap.Container();

instantiates a new empty container that does not know IUnitOfWork. 实例化一个不知道IUnitOfWork的新空容器。

You can try to set a global static variable in global.asax.cs 您可以尝试在global.asax.cs中设置全局静态变量

The best way is to use StructureMap as MVC DependencyResolver 最好的方法是将StructureMap用作MVC DependencyResolver

Here there is a way How to get the Structuremap IContainer instance from Asp.Net MVC 5 Dependency Resolver 这里有一种方法如何从Asp.Net MVC 5依赖关系解析器获取Structuremap IContainer实例

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

相关问题 自主机Asp.net MVC 4.5.2 - Self host Asp.net MVC 4.5.2 使用ASP.NET MVC 5和Structuremap,Setter属性注入在静态类中不起作用 - Setter Property Injection don't work in static class, using ASP.NET MVC 5 and Structuremap 在Asp.net MVC 5中使用StructureMap扫描程序集 - Scanning Assemblys using StructureMap in Asp.net MVC 5 在ASP.NET MVC中使用Structuremap管理ObjectContext生存期 - Using Structuremap to manage ObjectContext Lifetime in ASP.NET MVC 我可以使用StructureMap注入一些字符串(例如配置值)到ASP.NET MVC控制器中吗? - Can I inject into an ASP.NET MVC controller, some strings (eg. configuration values) using StructureMap? StructureMap ASP.net MVC不注入接口 - StructureMap ASP.net MVC Not Injecting Interface 角色为asp.net 4.5.2的登录系统不是MVC - Login system with roles asp.net 4.5.2 not MVC IIS 10 ASP.NET 4.5.2 MVC应用程序上的403.14错误 - 403.14 Error on IIS 10 ASP.NET 4.5.2 MVC Application 如何使用structuremap asp.net mvc注册带有可选参数的可选装饰器或装饰器? - How to register an optional decorator or decorator with optional parameters using structuremap asp.net mvc? 如何在Asp.Net MVC集成测试中覆盖Structuremap注册表 - How to override Structuremap registry in integration tests for Asp.Net MVC
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM