使用统一框架在MVC 3中进行依赖注入

用户

我已经在MVC 3统一框架中并按照说明实施了依赖项注入。

它起作用了,但是我对此有一些疑问:

这是我的实现:

public interface ID
{

    string MReturn();
}

实现此接口的类是:

public class D:ID
{
    public string MReturn()
    {
        return "Hi";
    }
}
public class E : ID
{
    public string MReturn()
    {
        return "HiE";
    }
}

public class F : ID
{
    public string MReturn()
    {
        return "Hif";
    }
}

在引导程序类中,

    private static IUnityContainer BuildUnityContainer()
    {

        var container = new UnityContainer();
        container.RegisterType<ID, D>();

        container.RegisterType<IController, HomeController>("feedbackRepo");
        container.RegisterType<ID, E>();
        container.RegisterType<ID, F>();
      // register all your components with the container here
        // it is NOT necessary to register your controllers

        // e.g. container.RegisterType<ITestService, TestService>();            

        return container;
    }

现在我的问题是

“我想在Homecontroller构造函数中设置服务类D,但是根据上面的代码,它正在构造函数中设置“ F类”。

有什么办法做到吗?对以上代码进行任何修改?

达林·迪米特罗夫(Darin Dimitrov)

F注入的原因是因为它是的最后注册的实现ID它基本上会覆盖以前的注册。

如果您对某些接口/基类有不同的实现,并且想在不同的控制器中注入特定的实现,则可以将它们注册为命名实例:

container.RegisterType<ID, D>("d");
container.RegisterType<ID, E>("e");
container.RegisterType<ID, F>("f");

然后在容器中注册控制器,并注入所需的命名实例ID

container.RegisterType<HomeController>(
    new PerRequestLifetimeManager(),
    new InjectionConstructor(new ResolvedParameter<ID>("d"))
);

请注意,已向控制器注册PerRequestLifetimeManager以确保为每个HTTP请求创建新实例。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用统一框架在MVC 3中进行依赖注入

来自分类Dev

在类库项目中进行统一的依赖注入

来自分类Dev

如何使用ES6在AngularJs中进行依赖注入?

来自分类Dev

使用CDI在简单的Java程序中进行依赖注入

来自分类Dev

使用Castle Windsor在WebAPI中进行依赖注入

来自分类Dev

如何使用Ember CLI在Ember中进行依赖项注入?

来自分类Dev

使用Castle Windsor在WebAPI中进行依赖注入

来自分类Dev

使用CDI在简单的Java程序中进行依赖注入

来自分类Dev

如何使用Ember CLI在Ember中进行依赖项注入?

来自分类Dev

在ASP.NET MVC 5中使用ControllerFactory在控制器的构造函数中进行依赖项注入

来自分类Dev

使用实体框架在WPF MVVM中进行验证

来自分类Dev

使用Open CV框架在iOS中进行图像矫正

来自分类Dev

使用统一依赖框架解析所有方法

来自分类Dev

使用捆绑框架在javascript捆绑包中包含MVC视图或字符串

来自分类Dev

如何使用实体框架在ASP.NET MVC中检查删除操作是否成功

来自分类Dev

如何使用实体框架在 ASP.NET MVC 中调用存储过程

来自分类Dev

如何使用 ASP.NET MVC 和实体框架在 C# 中创建注销

来自分类Dev

像指令一样在Angular Components中进行依赖注入

来自分类Dev

使用Ninject OWIN中间件在OWIN启动中进行依赖注入UserStore

来自分类Dev

在MVC 5中获取DataProtectionProvider以正确进行依赖注入

来自分类Dev

使用实体框架在一次迁移中更新列长和数据

来自分类Dev

使用Play框架在Scala函数定义中“ Action”一词做什么?

来自分类Dev

使用实体框架在Crystal Reports中显示GridView的一条记录

来自分类Dev

使用实体框架在一个存储过程中插入、更新、删除查询

来自分类Dev

依赖关系未正确注入MVC 5,OWIN,统一

来自分类Dev

使用 express 框架在 pipeDrive 回调中进行 OAuth 授权

来自分类Dev

使用ninject在unittest中进行属性注入

来自分类Dev

使用ninject在unittest中进行属性注入

来自分类Dev

使用统一注册实例注入依赖项

Related 相关文章

  1. 1

    使用统一框架在MVC 3中进行依赖注入

  2. 2

    在类库项目中进行统一的依赖注入

  3. 3

    如何使用ES6在AngularJs中进行依赖注入?

  4. 4

    使用CDI在简单的Java程序中进行依赖注入

  5. 5

    使用Castle Windsor在WebAPI中进行依赖注入

  6. 6

    如何使用Ember CLI在Ember中进行依赖项注入?

  7. 7

    使用Castle Windsor在WebAPI中进行依赖注入

  8. 8

    使用CDI在简单的Java程序中进行依赖注入

  9. 9

    如何使用Ember CLI在Ember中进行依赖项注入?

  10. 10

    在ASP.NET MVC 5中使用ControllerFactory在控制器的构造函数中进行依赖项注入

  11. 11

    使用实体框架在WPF MVVM中进行验证

  12. 12

    使用Open CV框架在iOS中进行图像矫正

  13. 13

    使用统一依赖框架解析所有方法

  14. 14

    使用捆绑框架在javascript捆绑包中包含MVC视图或字符串

  15. 15

    如何使用实体框架在ASP.NET MVC中检查删除操作是否成功

  16. 16

    如何使用实体框架在 ASP.NET MVC 中调用存储过程

  17. 17

    如何使用 ASP.NET MVC 和实体框架在 C# 中创建注销

  18. 18

    像指令一样在Angular Components中进行依赖注入

  19. 19

    使用Ninject OWIN中间件在OWIN启动中进行依赖注入UserStore

  20. 20

    在MVC 5中获取DataProtectionProvider以正确进行依赖注入

  21. 21

    使用实体框架在一次迁移中更新列长和数据

  22. 22

    使用Play框架在Scala函数定义中“ Action”一词做什么?

  23. 23

    使用实体框架在Crystal Reports中显示GridView的一条记录

  24. 24

    使用实体框架在一个存储过程中插入、更新、删除查询

  25. 25

    依赖关系未正确注入MVC 5,OWIN,统一

  26. 26

    使用 express 框架在 pipeDrive 回调中进行 OAuth 授权

  27. 27

    使用ninject在unittest中进行属性注入

  28. 28

    使用ninject在unittest中进行属性注入

  29. 29

    使用统一注册实例注入依赖项

热门标签

归档