gpt4 book ai didi

c# - AddSingleton 与异步调用?

转载 作者:行者123 更新时间:2023-12-04 01:47:26 27 4
gpt4 key购买 nike

我添加了一个这样的单例。
在 Startup.cs 中,我添加了以下内容:

services.AddSingleton<MySingleton>();
我想像这样构建我的单例(当然这是不可能的):
public class MySingleton
{
public MySingleton()
{
await InitAsync();
}

private async Task InitAsync()
{
await Stuff();
}
}
如何在不造成死锁的情况下解决此问题?

最佳答案

据我所知,ASP.NET Core 中的配置不是异步的,因此无法使用异步工厂或类似方式添加服务。

正因为如此,考虑到如果只在应用程序启动时进行一次阻塞并不是什么大问题,我认为您应该在创建服务时进行阻塞。而且由于 ASP.NET Core 没有同步上下文,这也不会导致死锁。

关于c# - AddSingleton 与异步调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42729956/

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