【发布时间】:2015-07-23 12:19:07
【问题描述】:
我使用 Autofac 作为 Windows 服务的 IoC 容器。
我有一个类 ConnectionManager 注册为单例(因此,绑定到 Autofac 的 root 生命周期范围)。
IoC 容器在服务的OnStart() 方法中配置和初始化。常见的东西:
private IContainer _container;
public void OnStart()
{
var builder = new ContainerBuilder();
//initialize it...
_container = builder.Build();
}
我想确保ConnectionManager 的(单例)实例在服务停止时被释放 - 即在调用OnStop() 方法时。
我想告诉 Autofac 容器:“很高兴见到你。现在prepare to die。”
我的问题是:我怎样才能在 OnStop() 方法中获得根生命周期范围,以便我可以处理它?
【问题讨论】:
标签: windows-services inversion-of-control autofac ioc-container