41 lines
1.1 KiB
C#
41 lines
1.1 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using System.Net;
|
||
using System.Text;
|
||
|
||
namespace AutoUpdateEx
|
||
{
|
||
public class WebClientPro : WebClient
|
||
{
|
||
/// <summary>
|
||
/// 过期时间
|
||
/// </summary>
|
||
public int Timeout { get; set; }
|
||
|
||
/// <summary>
|
||
/// 设置请求超时时间
|
||
/// 默认30秒
|
||
/// </summary>
|
||
/// <param name="timeout">超时时间(ms)</param>
|
||
public WebClientPro(int timeout = 30000)
|
||
{
|
||
Timeout = timeout;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 重写GetWebRequest,添加WebRequest对象超时时间
|
||
/// </summary>
|
||
/// <param name="address"></param>
|
||
/// <returns></returns>
|
||
protected override WebRequest GetWebRequest(Uri address)
|
||
{
|
||
//WebClient里上传下载的方法很多,但最终应该都是调用了这个方法
|
||
HttpWebRequest request = (HttpWebRequest)base.GetWebRequest(address);
|
||
request.Timeout = Timeout;
|
||
request.ReadWriteTimeout = Timeout;
|
||
return request;
|
||
}
|
||
}
|
||
}
|