0

System.Net.WebClient.DownloadFileAsync() メソッドを使用して、インターネットからローカル ドライブにファイルをダウンロードしています。Windows環境では問題ありませんが、Monoで試してみると、ダウンロード開始直後に「リクエストがタイムアウトしました」と表示され、ダウンロードに失敗する(ゼロバイトファイル)。

問題が ThreadPool に関連しており、MONO_THREADS_PER_CPU=2000 を設定すると解決するという [1] および [2] を含むインターネット上の記事を見つけました。これまでのところ、私は試しました:

  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 としてプロファイルを作成 (環境変数の設定で): 解決されていません

関連リンク:

  1. http://www.mono-project.com/Article:ThreadPool_Deadlocks
  2. http://www.mono-project.com/Mod_mono
  3. -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);
4

0 に答える 0