C# 我的DownloadFile方法在长时间被调用时引发WebException

C# 我的DownloadFile方法在长时间被调用时引发WebException,c#,.net,download,timeout,system.net.webexception,C#,.net,Download,Timeout,System.net.webexception,我的DownloadFile方法遇到了一个问题,它在运行时的代码中被循环调用了很多次,下载文件有时甚至需要十分之一个小时。经过很长一段时间(大约在运行时间>5小时后),在我的用户日志中,我可以看到此方法正在抛出System.Net.WebException:操作已超时。我想知道,如何解决这个问题 publicstaticvoid下载文件(stringfrom,stringto) { 尝试 { HttpRequestCachePolicy=新的HttpRequestCachePolicy(Http

我的DownloadFile方法遇到了一个问题,它在运行时的代码中被循环调用了很多次,下载文件有时甚至需要十分之一个小时。经过很长一段时间(大约在运行时间>5小时后),在我的用户日志中,我可以看到此方法正在抛出
System.Net.WebException:操作已超时
。我想知道,如何解决这个问题

publicstaticvoid下载文件(stringfrom,stringto)
{
尝试
{
HttpRequestCachePolicy=新的HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore);
HttpWebRequest.DefaultCachePolicy=策略;
HttpWebRequest httpRequest=(HttpWebRequest)
WebRequest.Create(从);
httpRequest.Method=WebRequestMethods.Http.Get;
HttpRequestCachePolicy noCachePolicy=新的HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore);
httpRequest.CachePolicy=noCachePolicy;
添加(“缓存控制”,“无缓存”);
HttpWebResponse httpResponse=(HttpWebResponse)httpRequest.GetResponse();
Stream httpResponseStream=httpResponse.GetResponseStream();
int bufferSize=1024;
字节[]缓冲区=新字节[bufferSize];
int字节读取=0;
//从响应读取并写入文件
FileStream FileStream=File.Create(to);
while((bytesRead=httpResponseStream.Read(buffer,0,bufferSize))!=0)
{
写入(缓冲区,0,字节读取);
}
fileStream.Close();
httpResponseStream.Close();
httpResponse.Close();
}
捕获(例外e)
{
Trace.WriteLine(“[DownloadFile]任务失败::引发异常[“+e.ToString()+”]);
}
}
```