WebClient - 使用Mono异步下载和请求超时

时间:2012-09-23 16:06:53

标签: mono webclient threadpool

我正在使用System.Net.WebClient.DownloadFileAsync()方法将文件从Internet下载到本地驱动器。在Windows环境中,没有问题但是当我尝试使用Mono时,一旦下载开始并且下载操作失败(零字节文件),就会出现“请求超时”消息。

我在互联网上发现了一些文章,包括[1]和[2],说明问题与ThreadPool有关,设置MONO_THREADS_PER_CPU = 2000将是解决方案。到目前为止,我已经尝试过:

  1. 在Win CMD提示符中,SET MONO_THREADS_PER_CPU = 2000:未解决
  2. 在Mono 2.10.8 CMD提示中,SET MONO_THREADS_PER_CPU = 2000未解决
  3. 通过Visual Studio使用mono-tools [3],创建了一个配置文件MONO_THREADS_PER_CPU = 2000(在环境变量设置中):未解决
  4. 相关链接:

    1. http://www.mono-project.com/Article:ThreadPool_Deadlocks
    2. http://www.mono-project.com/Mod_mono
    3. -http://mono-tools.com/Debug.aspx
    4. 操作系统:Win7 x64,单声道版本:2.10.8

      System.Net.WebClient client = new System.Net.WebClient();
      client.DownloadFileCompleted += new AsyncCompletedEventHandler(DownloadFileCompleted);
      client.DownloadFile(url, temp);
      

0 个答案:

没有答案