如何使用Autofac容器解析类型的实例?

koo9

在Windows服务中,应该如何获得类的实例?

显然,新实例将破坏DI的全部目的。在过去,人们会做

ISomeInterface st = container.Resolve<ISomeInterface>();

在这种情况下,实现ISomeInterface的类在其构造函数中具有依赖项类/接口,例如SomeInterfaceImp(IOtherInterface oi)()

如何使用autofac做到这一点?

特拉维斯·伊利格(Travis Illig)

这是相当标准的依赖性解析/自动连接的东西。只要您在容器中拥有所有依赖项,解析ISomeInterface也会自动链接任何依赖项,例如IOtherInterface

var builder = new ContainerBuilder();
builder.RegisterType<SomeInterfaceImp>().As<ISomeInterface>();
builder.RegisterType<OtherInterfaceImp>().As<IOtherInterface>();
var container = builder.Build();

Autofac上有一个很好的入门指南,在Autofac doc网站上有很多示例。我建议你从这里开始。

请注意,如果您正在编写长期运行的Windows服务(如标签所建议),则不应从容器中解决问题,因为这可能会导致内存泄漏。也有很多关于此的文档。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何重置autofac容器?

来自分类Dev

Autofac实例范围解析

来自分类Dev

如何使用在Boost Fusion容器中实例化的类型的参数调用构造函数?

来自分类Dev

如何使用Autofac和Asp.Net MVC解决实例

来自分类Dev

如何处理Autofac容器?

来自分类Dev

如何使用Autofac为Nancy创建的子生存期范围内的类型解析每个请求的实例依赖性

来自分类Dev

Autofac解析相同类型的多个实例

来自分类Dev

如何在Muti-Tenant容器中使用Autofac模块?

来自分类Dev

如何在运行时更新Autofac容器中的注册实例

来自分类Dev

创建容器后如何在autofac中注册类型

来自分类Dev

使用带有对象实例的DI容器解析对象

来自分类Dev

如何使用Autofac使用工厂解析界面

来自分类Dev

使用Autofac自行注册容器

来自分类Dev

如何解析使用DryIoc.Container实现接口的特定类型(运行时已知)的实例

来自分类Dev

Autofac使用不同的参数解析相同的类实例

来自分类Dev

如何从autofac容器解析依赖关系(在嵌套LifetimeScope中注册)

来自分类Dev

Autofac使用具体类型注册通用实例

来自分类Dev

构建Autofac容器时,如何将以前注册的类型作为参数包括在其他注册类型中?

来自分类Dev

使用带有对象实例的DI容器解析对象

来自分类Dev

如何使用Autofac注册(无限)类型层次结构?

来自分类Dev

如何根据容器的元素类型启用模板功能实例化

来自分类Dev

使用Autofac注入服务的实例

来自分类Dev

从Autofac容器解析IEnumerable通用接口

来自分类Dev

AutoFac-如何使用参数注册和解析对象?

来自分类Dev

手动解析InstancePerRequest类型时未收到Autofac相同的注入实例

来自分类Dev

如何使用Commonmark for PHP解析嵌套容器?

来自分类Dev

Unity 容器将如何解析已注册的类型

来自分类Dev

在 Autofac 中使用多态时解析具体类型

来自分类Dev

Graphql:如何定义类型以在解析另一种类型时使用特定实例?

Related 相关文章

  1. 1

    如何重置autofac容器?

  2. 2

    Autofac实例范围解析

  3. 3

    如何使用在Boost Fusion容器中实例化的类型的参数调用构造函数?

  4. 4

    如何使用Autofac和Asp.Net MVC解决实例

  5. 5

    如何处理Autofac容器?

  6. 6

    如何使用Autofac为Nancy创建的子生存期范围内的类型解析每个请求的实例依赖性

  7. 7

    Autofac解析相同类型的多个实例

  8. 8

    如何在Muti-Tenant容器中使用Autofac模块?

  9. 9

    如何在运行时更新Autofac容器中的注册实例

  10. 10

    创建容器后如何在autofac中注册类型

  11. 11

    使用带有对象实例的DI容器解析对象

  12. 12

    如何使用Autofac使用工厂解析界面

  13. 13

    使用Autofac自行注册容器

  14. 14

    如何解析使用DryIoc.Container实现接口的特定类型(运行时已知)的实例

  15. 15

    Autofac使用不同的参数解析相同的类实例

  16. 16

    如何从autofac容器解析依赖关系(在嵌套LifetimeScope中注册)

  17. 17

    Autofac使用具体类型注册通用实例

  18. 18

    构建Autofac容器时,如何将以前注册的类型作为参数包括在其他注册类型中?

  19. 19

    使用带有对象实例的DI容器解析对象

  20. 20

    如何使用Autofac注册(无限)类型层次结构?

  21. 21

    如何根据容器的元素类型启用模板功能实例化

  22. 22

    使用Autofac注入服务的实例

  23. 23

    从Autofac容器解析IEnumerable通用接口

  24. 24

    AutoFac-如何使用参数注册和解析对象?

  25. 25

    手动解析InstancePerRequest类型时未收到Autofac相同的注入实例

  26. 26

    如何使用Commonmark for PHP解析嵌套容器?

  27. 27

    Unity 容器将如何解析已注册的类型

  28. 28

    在 Autofac 中使用多态时解析具体类型

  29. 29

    Graphql:如何定义类型以在解析另一种类型时使用特定实例?

热门标签

归档