using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Text; using System.Threading.Tasks; namespace DemoUI.Common { public class WebClientPro : WebClient { /// /// 过期时间 /// public int Timeout { get; set; } public WebClientPro(int timeout = 30000) {//默认30秒 Timeout = timeout; } /// /// 重写GetWebRequest,添加WebRequest对象超时时间 /// /// /// protected override WebRequest GetWebRequest(Uri address) {//WebClient里上传下载的方法很多,但最终应该都是调用了这个方法 HttpWebRequest request = (HttpWebRequest)base.GetWebRequest(address); request.Timeout = Timeout; request.ReadWriteTimeout = Timeout; return request; } } }