我创建了一个使用 Task.Wait 的 Web 应用程序。在我使用它后不久,我的应用程序在大约 30 天后慢慢开始爬行。我从来没有找出原因,但我怀疑是 Task.Wait 方法在远程服务器不响应的情况下永远不会超时。只是想知道 Task.Wait 是否已执行,它会永远等待远程服务器永远不会响应吗?
最佳答案
从 Reference Source 查看来源,如果来自 Task.Wait()
的代码:
public void Wait()
{
#if DEBUG
bool waitResult =
#endif
Wait(Timeout.Infinite, default(CancellationToken));
#if DEBUG
Contract.Assert(waitResult, "expected wait to succeed");
#endif
}
所以,超时是Timeout.Infinite
!
关于c# - Task.Wait 的默认超时是多少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32698132/