当我的申请开始时,我有大约1000个请求。调用~200个请求后,只返回~10个,然后我的应用程序挂起,不再返回结果。
下面是我的代码:
//文件1.cs
await Task.WhenAll(allUsers.Select(user => Connect(user)));
//File2.cs(在Connect方法内部调用)
var result = await client.PostAsync($"https://url.com",
new FormUrlEncodedContent(parameters)))
我尝试过一些解决方案,例如:
-
设置ServicePointManager.DefaultConnectionLimit服务点管理器= 内景最大值
-
-
使用.ConfigureAwait(false)
-
设置超时值
-
MaxDegreeOfParallelist设置为2的TPL数据流(ActionBlock)
以上的解决方案都不起作用,我已经没有选择了。它不能/不会抛出异常或返回值有什么原因吗?是否存在并发请求过多导致死锁的可能性?任何建议都会有帮助。谢谢
另外,我正在使用.Net Core2.1