ここには2つのシナリオが考えられます。
1:クライアントアプリ(コンソールやWinFormsなど)を構築していて、プロキシを介さずにWebClientまたはHttpWebRequestを使用してhttp:// localhostbypassonlocal="True"
にアクセスする場合は、これを実行する必要があります。つまり、app.configは次のようになります。
<defaultProxy>
<proxy
usesystemdefault="False"
bypassonlocal="True"
/>
</defaultProxy>
</system.net>
2:ただし、ASP.NETアプリ(http:// localhostで実行)をプロキシありまたはプロキシなしでURIを正しく解決できるようにする場合は、プロキシを設定する必要があります情報はweb.config(またはmachine.configにあるため、アプリのweb.configを変更する必要はありません)に正しく含まれているため、ASP.NETは、プロキシを実行しているかどうかを認識します。このような:
家:
<defaultProxy>
<proxy
usesystemdefault="False"
bypassonlocal="True"
/>
</defaultProxy>
</system.net>
仕事:
<defaultProxy>
<proxy
usesystemdefault="False"
proxyaddress="http://yourproxyserver:8080"
bypassonlocal="True"
/>
</defaultProxy>
</system.net>
プロキシ自動検出を使用したり、レジストリから設定を取得したりすることも可能ですが、私は常にサーバーアプリに対するこれらのアプローチを避けてきました...脆弱すぎます。
ところで、正しく構成されていてもエラーが発生する場合は、最初に、構成に依存するのではなく、WebClient/HttpWebRequest呼び出しの前にプロキシを手動で設定するクイックテストをコーディングすることをお勧めします。やれ。このような:
WebProxy proxyObject = new WebProxy("http://proxyserver:80/",true);
WebClient wc = new WebClient();
wc.Proxy = proxyObject;
string s = wc.DownloadString ("http://www.google.com");
コードを使用している場合でも、リクエストが作業プロキシを正しく通過しない場合は、プロキシがコードで正しく構成されていても、プロキシ自体に問題がある可能性があります。