在我的应用程序启动时,我有大约1000个请求。调用〜200个请求后,仅返回〜10,然后我的应用程序挂起,不再返回任何结果。
这是我的代码:
// File1.cs
await Task.WhenAll(allUsers.Select(user => Connect(user)));
// File2.cs(在Connect方法内部调用)
var result = await client.PostAsync($"https://url.com",
new FormUrlEncodedContent(parameters)))
HttpClient是静态的,因此实例太多不会有问题。
我尝试了以下解决方案:
以上解决方案均未奏效,我的选择将用光。有什么理由不能/不会抛出异常或返回值?是否有太多并发请求导致死锁?任何建议都会有所帮助。谢谢
Ps。我正在使用.Net Core 2.1
答案 0 :(得分:0)
确保api中的操作已被编写为异步方法(而不仅仅是控制器操作方法),并且最好检查具有未提交未提交事务隔离级别的sql脚本,并选择不带锁的基本并发执行查询实现(如果是sql db :)),因此api通常会做一些数据库读写操作