asp.net mvc Webアプリケーションからのファイルのダウンロードエラー
-
05-07-2019 - |
質問
ASP.Net MVCからファイルをダウンロードする際に(アプリからアプリにダウンロードするのではなく)この非常に奇妙な問題があり、誰かが私を助けてくれることを願っています。
コントローラーで実行される次のコード:
using (var wc = new WebClient())
{
var siteText = wc.DownloadString("http://www.google.com");
return siteText;
}
これはエラーを返します:
System.Net.WebException:リモートサーバーに接続できません---> System.Net.Sockets.SocketException:ターゲットマシンが積極的に拒否したため、接続できませんでした208.67.219.231:80
「一部」はあるものの、同じ結果の多数のアドレスを試しました。許可されますが、これらはローカルネットワーク上にあります。
ウェブサイトから外部サイトへのアクセスを許可するための設定がありませんか?
注意:HttpWebRequestを使用して、ユーザーエージェントも設定しようとしましたが、同じエラーです。
私の環境は、Integrated Managed Pipelineで実行されているIIS 7.0です。アプリケーションプールのIDを、インターネットにもアクセスできることを確認できるユーザーに変更しようとしました。
更新 これは、画像、およびWebClientまたはWebRequest.Create(url)メソッドを使用する他のすべてのファイルタイプでも発生しますが、ASP.Netアプリケーションでのみです。
解決
この例外は、ファイアウォールまたはリモートコンピューターが接続試行を積極的にブロックしていることを意味します。
権限/ユーザーエージェントを調べるのではなく、そのサーバーのネットワーク設定を調査する必要があります。プロキシなしでインターネットに直接接続できますか? IEでプロキシを設定していますか?
たとえばコマンドラインを試してください
telnet stackoverflow.com 80
接続しますか、または接続が拒否されますか?