Task.Wait的默认超时是多少

Luk*_*101 1 c#

我创建了一个使用Task.Wait的Web应用程序.使用它后不久,我的应用程序在大约30天后慢慢爬行.我从来没有发现原因,但我怀疑它是Task.Wait方法,如果远程服务器永远不会响应,它永远不会超时.只是想知道Task.Wait是否被执行会永远等待远程服务器从不响应吗?

Phi*_*aré 7

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
}
Run Code Online (Sandbox Code Playgroud)

所以,超时是Timeout.Infinite!