koo*_*oo9 3 windows-services autofac
在Windows服务中,如何获取类的实例?
显然,新实例会破坏DI的整体目的.在过去,人们会这样做
ISomeInterface st = container.Resolve<ISomeInterface>();
在这种情况下,实现ISomeInterface的类在其构造函数中具有依赖类/接口,例如SomeInterfaceImp(IOtherInterface oi)().
如何用autofac做到这一点?
这是非常标准的依赖性解决方案/自动连接的东西.只要您拥有容器中的所有依赖项,解析ISomeInterface将自动链接到任何依赖项中IOtherInterface.
var builder = new ContainerBuilder();
builder.RegisterType<SomeInterfaceImp>().As<ISomeInterface>();
builder.RegisterType<OtherInterfaceImp>().As<IOtherInterface>();
var container = builder.Build();
Run Code Online (Sandbox Code Playgroud)
Autofac有一个很好的入门指南,在Autofac doc网站上有很多例子.我建议你从那里开始.
请注意,如果您正在编写长时间运行的Windows服务(如标记所示),则不应解决容器外的问题,因为最终可能会导致内存泄漏.有很多关于这方面的文档.
| 归档时间: |
|
| 查看次数: |
4652 次 |
| 最近记录: |