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

种族主义

使用Redis时,我们ConnectionMultiplexer从中创建GetDatabase()以获得对给定缓存的访问。

我想配置Unity来做到这一点,如下所示:

ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("localhost");
container.RegisterInstance(redis);
container.RegisterType<IDatabase, redis.GetDatabase()>();

但毫不奇怪,它不会编译。

我目前唯一想到的另一种方法是创建一个数据库工厂类,并将其传递给我的控制器而不是IDatabase,但这似乎有点过头了,因为我实际上只是包装了一个包装器:

 public static void RegisterComponents() {
    ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("localhost");
    container.RegisterInstance(redis);
    RedisDatabaseFactory redisDbf = new RedisDatabaseFactory(redis);
    container.RegisterInstance(redisDbf);
    container.RegisterType<IRedisDatabaseFactory, RedisDatabaseFactory>();
}

MyController.cs

public MyController(IRedisDatabaseFactory rdbf){
  _db = rdbf.GetDatabase();
}

因此,除了使用这种过于冗长的工厂方法之外,我如何才能使用已注册实例的方法为其他对象创建可注入的依赖关系?

拉斯·卡姆(Russ Cam)

您可以注册IDatabase使用InjectionFactory以下方法的工厂方法

container.RegisterType<IDatabase>(new InjectionFactory(c => redis.GetDatabase()));

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

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

来自分类Dev

如何创建一个类的实例并注入依赖项而不在DryIoc中注册它?

来自分类Dev

使用结构映射依赖项注入时“未注册IUserTokenProvider”

来自分类Dev

使用依赖项注入时未注册IUserTokenProvider

来自分类Dev

使用多个dbcontext实例和依赖项注入

来自分类Dev

Java Guice:如果多次注入相同的依赖项,是否注入了该依赖项的同一个实例?

来自分类Dev

如何将Automapper与统一依赖注入一起使用?

来自分类Dev

如何从Asp.net核心依赖项注入中的已注册子类解析父类实例

来自分类Dev

使用依赖项注入时未注册耐用的Azure函数绑定类型

来自分类Dev

Angular 2依赖项注入:注入多个实例

来自分类Dev

Angular 2依赖项注入:注入多个实例

来自分类Dev

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

来自分类Dev

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

来自分类Dev

使用http作用域实例通过StructureMap进行Web Api和依赖项注入

来自分类Dev

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

来自分类Dev

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

来自分类Dev

使用LightInject自动注册依赖项

来自分类Dev

使用服务别名进行依赖项注入

来自分类Dev

使用Dagger 2查看依赖项注入

来自分类Dev

如何使用phpunit模拟依赖项注入?

来自分类Dev

如何使用jmockit注入模拟的依赖项

来自分类Dev

使用Guice,在子类中注入依赖项

来自分类Dev

在MVC中使用依赖项注入

来自分类Dev

在type =“”属性上使用依赖项注入

来自分类Dev

在MVC中使用依赖项注入

来自分类Dev

使用MEF的模板10依赖项注入

来自分类Dev

在Kodein依赖项注入中,如何将Kodein本身的实例注入实例?

来自分类Dev

使用统一容器获取BusHealth的实例

来自分类Dev

如何使用依赖注入在Spring中注入资源类实例

Related 相关文章

  1. 1

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

  2. 2

    如何创建一个类的实例并注入依赖项而不在DryIoc中注册它?

  3. 3

    使用结构映射依赖项注入时“未注册IUserTokenProvider”

  4. 4

    使用依赖项注入时未注册IUserTokenProvider

  5. 5

    使用多个dbcontext实例和依赖项注入

  6. 6

    Java Guice:如果多次注入相同的依赖项,是否注入了该依赖项的同一个实例?

  7. 7

    如何将Automapper与统一依赖注入一起使用?

  8. 8

    如何从Asp.net核心依赖项注入中的已注册子类解析父类实例

  9. 9

    使用依赖项注入时未注册耐用的Azure函数绑定类型

  10. 10

    Angular 2依赖项注入:注入多个实例

  11. 11

    Angular 2依赖项注入:注入多个实例

  12. 12

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

  13. 13

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

  14. 14

    使用http作用域实例通过StructureMap进行Web Api和依赖项注入

  15. 15

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

  16. 16

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

  17. 17

    使用LightInject自动注册依赖项

  18. 18

    使用服务别名进行依赖项注入

  19. 19

    使用Dagger 2查看依赖项注入

  20. 20

    如何使用phpunit模拟依赖项注入?

  21. 21

    如何使用jmockit注入模拟的依赖项

  22. 22

    使用Guice,在子类中注入依赖项

  23. 23

    在MVC中使用依赖项注入

  24. 24

    在type =“”属性上使用依赖项注入

  25. 25

    在MVC中使用依赖项注入

  26. 26

    使用MEF的模板10依赖项注入

  27. 27

    在Kodein依赖项注入中,如何将Kodein本身的实例注入实例?

  28. 28

    使用统一容器获取BusHealth的实例

  29. 29

    如何使用依赖注入在Spring中注入资源类实例

热门标签

归档