1
MSDN에 따르면 WebRequest의 기본 제한 시간은 100 초 (100,000ms)입니다. 그러면 Timeout을 0으로 설정하면 즉시 요청이 시간 초과됩니까?C# HttpWebRequest 제한 시간을 0으로 설정하십시오.
그렇다면 언제쯤 그런 것을하고 싶습니까?
MSDN에 따르면 WebRequest의 기본 제한 시간은 100 초 (100,000ms)입니다. 그러면 Timeout을 0으로 설정하면 즉시 요청이 시간 초과됩니까?C# HttpWebRequest 제한 시간을 0으로 설정하십시오.
그렇다면 언제쯤 그런 것을하고 싶습니까?
네, 바로 timout 것입니다, 당신은 자신을 쉽게 테스트 할 수
try
{
WebRequest myWebRequest = WebRequest.Create("http://stackoverflow.com/questions/38340099/c-sharp-httpwebrequest-timeout-setting-to-zero");
myWebRequest.Timeout = 0;
WebResponse myWebResponse = myWebRequest.GetResponse();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message); // timeout exceeded
}
이유는 무엇입니까? 나는 나 자신에게 같은 것을 물었다. 어쩌면 테스트 목적이나 어떤 경우 에든 속성이 설정되도록 실수로 작동하지 않는 기본값이 필요한 경우 일 수 있습니다.
음수 값은 System.Threading.Timeout.Infinite
의 값이기 때문에 -1과 별개로 음수 값을 허용하지 않습니다. Here's the source:
public override int Timeout {
get {
return _Timeout;
}
set {
if (value<0 && value!=System.Threading.Timeout.Infinite) {
throw new ArgumentOutOfRangeException("value", SR.GetString(SR.net_io_timeout_use_ge_zero));
}
if (_Timeout != value)
{
_Timeout = value;
_TimerQueue = null;
}
}
}
많은 감사를드립니다! – cd491415