ASP.NET Core中CreateScope方法是否与请求相关?代码作用域解析
手动创建作用域的生命周期说明
针对代码:
using var scope = app.Services.CreateScope();
- 名为
scope的变量生命周期完全受限于所在的代码块,和请求没有关联。 - .NET Core默认的Scoped服务确实和每个请求的生命周期绑定,但这里通过
CreateScope()手动创建的是一个独立的自定义作用域,它的存活范围由using语句控制——代码块执行完毕,这个作用域就会被释放,里面的Scoped实例也会随之被回收。
简单说,这种手动创建的作用域是独立于请求作用域的,它的生命周期只看包裹它的代码块,和请求的生灭没有关系。
内容的提问来源于stack exchange,提问作者Aka
相关产品推荐
相关产品推荐

