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

WebClient-使用Mono异步下载和请求超时,mono,webclient,threadpool,Mono,Webclient,Threadpool,我正在使用System.Net.WebClient.DownloadFileAsync()方法将文件从internet下载到本地驱动器。在Windows环境中,没有问题,但当我尝试使用Mono时,下载开始并且下载操作失败时,就会出现“请求超时”消息(零字节文件) 我在互联网上找到了一些文章,包括[1]和[2],其中指出问题与线程池有关,将MONO_THREADS_PER_CPU=2000设置为解决方案。到目前为止,我已经尝试: 在Win CMD提示符中,设置MONO_THREADS_PER_CP

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

我在互联网上找到了一些文章,包括[1]和[2],其中指出问题与线程池有关,将MONO_THREADS_PER_CPU=2000设置为解决方案。到目前为止,我已经尝试:

  • 在Win CMD提示符中,设置MONO_THREADS_PER_CPU=2000:未解析
  • 在Mono 2.10.8 CMD提示符中,设置Mono_THREADS_PER_CPU=2000未解析
  • 通过Visual Studio使用mono工具[3],创建了一个配置文件,即mono_THREADS_PER_CPU=2000(在环境变量设置中):未解析
  • 相关链接:

  • -http://mono-tools.com/Debug.aspx
  • 操作系统:Win7 x64,Mono版本:2.10.8

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

    为什么您需要Windows上的Mono?您可能还需要使用fiddler之类的工具来检查是否正在请求连接。您链接到的线程池问题只涉及Mono版本@knocte试图开发跨平台应用程序^^^@ThomasJames关于fiddler,我想您的意思是连接是在Mono端请求的?我不确定它是如何关联的,因为Windows计算机上的连接正常。另一方面,mono无法解决这个问题,或者我做错了什么。。。