IOC 校验

var sc = new ServiceCollection()
.AddScoped<IA, A>()
.AddSingleton<IB, B>()
.AddTransient<IC, C>()
.BuildServiceProvider(true);//ValidateScopes检查在scoped 被Singleton 引用时不会将会到应用关闭才释放,回到之程序出现问题
//例如在Singleton服务中引用的Scoped服务是一个数据库连接对象,这会导致数据库长时间连接没有及时释放,从而导致程序出现异常。

var option = new ServiceProviderOptions()
{
ValidateOnBuild = vaildateOnBild//判断是否可以new对象出来
};

 

当注入的对象想 构造函数为 私有时,会创建失败

  

posted @ 2022-10-12 22:00  孤海飞雁  阅读(26)  评论(0)    收藏  举报