WebClient가 시간 초과를 지원하지 않지만 이상한 점을 발견했습니다. 내 웹 클라이언트 클래스 :WebClient 시간 초과 문제
class MyWebClient : WebClient
{
private int timeout;
public int Timeout
{
get { return timeout; }
set { timeout = value; }
}
public MyWebClient()
{
timeout = 5000;
}
protected override WebRequest GetWebRequest(Uri address)
{
WebRequest request = base.GetWebRequest(address);
if (request.GetType() == typeof(HttpWebRequest))
{
((HttpWebRequest)request).Timeout = timeout;
}
Console.WriteLine("timeout {0}", request.Timeout);
return request;
}
}
내가 요청이 인쇄합니다 내가 언급
시간 제한 만
을
//((HttpWebRequest)request).Timeout = timeout;
가 인쇄 :
시간 제한 100000
이 확인 기본값
하지만 내가 설정 한 경우 :
((HttpWebRequest)request).Timeout = 5000;
가 인쇄 :
이 제한 시간 5000
및 timouts가
작동 나는를 입력해야하는 이유 이아무도 설명 할 수 타임 아웃 값은 직접?
이것은 WebRequest.Timeout에 관한 질문이 아니라 C#에서 상속이 어떻게 작동하는지에 대한 질문입니다. – angularsen