Windows services Autofac-如何处理根生存期?
我正在使用Autofac作为windows服务的IoC容器 我有一个类Windows services Autofac-如何处理根生存期?,windows-services,inversion-of-control,autofac,ioc-container,Windows Services,Inversion Of Control,Autofac,Ioc Container,我正在使用Autofac作为windows服务的IoC容器 我有一个类ConnectionManager注册为单例(因此,绑定到Autofac的根生存期范围) IoC容器在服务的OnStart()方法中配置和初始化。通常的东西: private IContainer _container; public void OnStart() { var builder = new ContainerBuilder(); //initialize it... _contain
ConnectionManager
注册为单例(因此,绑定到Autofac的根生存期范围)
IoC容器在服务的OnStart()方法中配置和初始化。通常的东西:
private IContainer _container;
public void OnStart()
{
var builder = new ContainerBuilder();
//initialize it...
_container = builder.Build();
}
我想确保在服务停止时(即调用OnStop()
方法时,ConnectionManager
的(单例)实例被释放。
我想告诉Autofac容器:“很高兴认识你,现在。”
我的问题是:如何在OnStop()
方法中获得根生存期范围,以便处理它?答案就在眼前
容器本身是根生存期范围。因此,处理容器以处理单例
public void OnStop()
{
_container.Dispose();
}