Files
2026-02-21 16:45:37 +08:00

45 lines
924 B
C#

using System;
using System.Net;
namespace Crosstales.Radio.Util
{
public class CTWebClient : WebClient
{
public int Timeout { get; set; }
public int ConnectionLimit { get; set; }
public CTWebClient()
: this(5000)
{
}
public CTWebClient(int timeout, int connectionLimit = 20)
{
Timeout = timeout;
ConnectionLimit = connectionLimit;
}
protected override WebRequest GetWebRequest(Uri uri)
{
WebRequest webRequest = base.GetWebRequest(uri);
if (webRequest.GetType() == typeof(HttpWebRequest))
{
HttpWebRequest httpWebRequest = (HttpWebRequest)base.GetWebRequest(uri);
if (httpWebRequest != null)
{
httpWebRequest.ServicePoint.ConnectionLimit = ConnectionLimit;
httpWebRequest.Timeout = Timeout;
return httpWebRequest;
}
}
return webRequest;
}
public WebRequest CTGetWebRequest(string uri)
{
return GetWebRequest(new Uri(uri));
}
}
}