c# - Task.Wait 的默认超时是多少

标签 c#

我创建了一个使用 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/

相关文章:

c# - 使用 LINQ 并将结果存储在数据表中

c# - 同一 using block 中的多个变量

c# - 从上下文菜单 (C#) 向 Windows 返回一个字符串

c# - C# 是否会受益于枚举器种类之间的区别,例如 C++ 迭代器?

c# - 计算一周中即将到来的一天的日期时间

c# - "Inline temporary variable"(IDE0019) 修复在与接口(interface)一起使用时导致语法错误

c# - 如何按不同的值对字符串进行排序

c# - 将以度为单位的角度转换为矢量

c# - StringBuilder 真的比 Aggregate 快吗?

c# - 如何在C#中的一个函数中传回字符串和 bool 值?