我正在编写一个程序,当textBox1改变时:
URL = "http://example.com/something/";
URL += System.Web.HttpUtility.UrlEncode(textBox1.Text);
s = new System.Net.WebClient().DownloadString(URL);
我想限制DownloadString(URL)函数的执行时间不超过500毫秒。如果超过了,就取消它。
我正在编写一个程序,当textBox1改变时:
URL = "http://example.com/something/";
URL += System.Web.HttpUtility.UrlEncode(textBox1.Text);
s = new System.Net.WebClient().DownloadString(URL);
我想限制DownloadString(URL)函数的执行时间不超过500毫秒。如果超过了,就取消它。
没有这样的属性,但是你可以轻松地扩展 WebClient
:
public class TimedWebClient: WebClient
{
// Timeout in milliseconds, default = 600,000 msec
public int Timeout { get; set; }
public TimedWebClient()
{
this.Timeout = 600000;
}
protected override WebRequest GetWebRequest(Uri address)
{
var objWebRequest= base.GetWebRequest(address);
objWebRequest.Timeout = this.Timeout;
return objWebRequest;
}
}
// use
string s = new TimedWebClient {Timeout = 500}.DownloadString(URL);