多个BackgroundWorker会引发超时异常

时间:2017-06-02 12:05:32

标签: wpf multithreading timeout httpwebrequest backgroundworker

如果我在暂停模式下保留两个FileDownload(在下面链接中查找代码),并且如果我启动Filedownload的第三个第三个实例,则会出现超时错误。

我正在开发一个WPF应用程序,我需要从CDN服务器下载多个.zip文件。我正在使用以下代码下载文件。

https://www.codeproject.com/Articles/35954/C-NET-Background-File-Downloader?msg=5402177#xx5402177xx

在我的情况下,我必须同时下载多个文件并显示每个文件下载的进度。每次用户下载文件时,我都会创建一个FileDownloader实例(在下面链接中查找代码)。

我正面临操作超时错误,当我在Puase模式下保留两个FileDownloader实例时以及当我启动第三个实例时。第3个实例在webResp =(HttpWebResponse)webReq.GetResponse();并在一段时间后抛出操作超时错误。

如果我尝试通过Chrome浏览器下载相同的zip文件,并且如果先保持暂停,则第三个文件会被下载。

有任何建议,如何解决问题?

1 个答案:

答案 0 :(得分:0)

解决了该问题,默认情况下,应用程序可以打开的连接数为2,但使用下面的代码行可以将其设置为更高的数字。它也可以在app.config

中完成

https://msdn.microsoft.com/en-us/library/fb6y0fyc(v=vs.110).aspx

ServicePointManager.DefaultConnectionLimit = 65000;