gpt4 book ai didi

dependency-injection - AddScoped() 如何在 Asp.net 核心之外表现?

转载 作者:行者123 更新时间:2023-12-03 13:58:04 24 4
gpt4 key购买 nike

假设我想在将作为 Azure Web 作业运行的控制台应用程序中使用依赖注入(inject)。这样做我正在重用我在相关的 Asp.net 应用程序上使用的名为“AddATonOfServices()”的自定义服务注册方法。

我的问题是,使用 AddScoped() 在“AddATonOfServices()”中注册的服务现在在控制台应用程序中的行为如何?他们的行为是像 Transient 还是 Singleton 一样,还是如何?会有什么意想不到的行为吗?

谢谢。

最佳答案

如果您通过 IServiceScopeFactory 创建范围,它将被解析为范围。 .

// provider is the root container
using(var scope = provider.GetService<IServiceScopeFactory>().CreateScope())
{
var scopedService = scope.ServiceProvider.GetRequiredService<IScopedService>();
// do something
}
// scope will be disposed and all scoped and transient services which implement IDisposable

如果您解决了 范围 来自根容器的服务,那么它将是一个有效的单例(假设 provider 与应用程序一样长)

关于dependency-injection - AddScoped() 如何在 Asp.net 核心之外表现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45653561/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com