2012-09-18 49 views

回答

2

我已经使用了一个自定义类here

public class MyWebClient: WebClient 
{ 
    //time in milliseconds 
    private int timeout; 
    public int Timeout 
    { 
      get { 
       return timeout; 
      } 
      set { 
       timeout = value; 
      } 
    } 

    public MyWebClient() 
    { 
      this.timeout = 60000; 
    } 

    public MyWebClient(int timeout) 
    { 
      this.timeout = timeout; 
    } 

    protected override WebRequest GetWebRequest(Uri address) 
    { 
      var result = base.GetWebRequest(address); 
      result.Timeout = this.timeout; 
      return result; 
    } 
} 

一般的想法是重写内部WebRequest的超时。太好了!