You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Core IServiceScopeFactory子作用域是否会释放瞬态服务?

.NET DI子作用域的服务释放疑问

我在单例或后台服务中使用瞬态或作用域服务时,会通过子作用域来创建它们:

using var serviceScope = _serviceScopeFactory.CreateScope();
var foo = serviceScope.ServiceProvider.GetRequiredService<Foo>();

不过我看到CreateScope的API文档说明:

返回值:
控制作用域生命周期的IServiceScope。一旦该作用域被释放,所有从IServiceScope.ServiceProvider解析出的作用域服务也会被释放。

注意这里只提到了“作用域服务”,这让我产生疑问:是不是作用域容器不会释放瞬态服务,只会释放作用域服务?我之前一直以为子容器会释放它创建的所有服务,只有根容器会保留瞬态引用。

我习惯使用Autofac,.NET DI和它之间的一些细微差异让我有点困惑。

内容的提问来源于stack exchange,提问作者lonix

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 09:20:01