我有经典:如何在WebClient调用上设置超时?
WebClient webClient = new WebClient();
webClient.Headers[HttpRequestHeader.ContentType] = "application/xml";
webClient.UploadStringAsync(new Uri(inputMessage.Namespace, UriKind.Absolute), inputMessage.ToXML());
webClient.UploadStringCompleted += new UploadStringCompletedEventHandler(ProcessResponse)
;
但我想将请求的超时设置为更低的值。 我的谷歌搜索引导我使用HttpWebRequest,但我喜欢WebClient API。我结束了扩展Web客户端并覆盖一个受保护的方法有,将创建底层的HttpWebRequest:
protected override WebRequest GetWebRequest(Uri uri) {
HttpWebRequest result = WebRequest.CreateHttp(uri);
result.Timeout = someTimeOut;
return result;
}
问题是WP7中的HttpWebRequest包括设定超时没有财产,这只是正常的.NET。
那么有什么想法?
没有。在Silverlight中,WebClient类和WebRequest类(WebClientt在内部使用)都没有超时属性。所以这篇文章真的没有帮助。也许文章已经改变了? – 2012-01-04 12:10:29