.NetCore3.1 使用Autofac获取IContainer

使用Autofac进行属性注入时需要获取IContainer,在其他地方需要使用,但是使用RegisterBuildCallback进行回调获取IContainer 一直获取不到 一直是null

获取未null的代码,一定不能这样写,血淋淋的教训

public class ResolverServices : Autofac.Module
 {
        private static IContainer _container;
     protected override void Load(ContainerBuilder builder)
        {
      builder.RegisterBuildCallback(container => {  _container = (IContainer)container;});
      }    
}

正确写法

public class ResolverServices : Autofac.Module
    {
        private static IContainer _container;
        protected override void Load(ContainerBuilder builder)
        {
            builder.RegisterBuildCallback(container =>
            {
                _container = (IContainer)container;
            });
        }
    }

一定要换行换行!!!!!

 

posted @ 2020-10-27 15:10  五峰  阅读(862)  评论(0编辑  收藏  举报