背景: 外部 Web サービスの呼び出しに失敗し始めたリモート サイトにインストールされたサービスがあります。サイトのネットワーク\サポート エンジニアによると、プロキシは必要ないはずですが、WebRequest を実行しようとすると例外が返されます。
System.Net.WebException: The remote server returned an error: (407) Proxy Authentication Required.
例外は比較的自明ですが、コードを見ると、WebRequest の呼び出しでプロキシが指定されておらず、app.config ファイルでプロキシが定義されていません。
WebRequest.Proxy の MSDN ドキュメントを参照してください。
"リクエストをプロキシするために使用する IWebProxy オブジェクト。デフォルト値は、GlobalProxySelection.Select プロパティを呼び出すことによって設定されます。"
次に、GlobalProxySelection.Select のドキュメントを参照します。
"グローバル HTTP プロキシを取得または設定します。"
GlobalProxySelection.Select がアプリケーションのどこにも設定されていない場合、デフォルト値はどこから来るのでしょうか? また、グローバル HTTP プロキシを設定できる他のグローバル構成ファイルはありますか?