Windows services Autofac-如何处理根生存期?

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

我正在使用Autofac作为windows服务的IoC容器

我有一个类
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();
}