HTTP プロキシ サーバーを介して Web サービスを使用する .NET クライアントでエラーが発生する
この記事は、.NET クライアントを使用して HTTP プロキシ サーバーを介して Web サービスを使用するときに、エラー (基になる接続が閉じられました: リモート名を解決できませんでした) が発生する問題を解決するのに役立ちます。
元の製品バージョン: .NET Framework
元の KB 番号: 318140
現象
.NET クライアントを使用して HTTP プロキシ サーバーを介して Web サービスを使用すると、次のエラー メッセージが表示されることがあります。
基になる接続が閉じられました:リモート名を解決できませんでした。
原因
Web サービスと .NET クライアントの間に HTTP プロキシ サーバーが存在し、適切なプロキシ設定が構成されていません。
解決方法
この問題を解決するには、.NET クライアントに適切なプロキシ構成設定を指定します。
Machine.config ファイルの既定の設定を次に示します。
<configuration>
<system.net>
<defaultProxy>
<proxy
usesystemdefault = "true"
/>
</defaultProxy>
</system.net>
</configuration>
既定の設定でプロキシ サーバーの設定が自動的に検出されない場合は、false に設定usessystemdefault
し、プロキシ サーバーを明示的に指定します。 プロキシ サーバーを明示的に指定するには、 Machine.config または Web.config ファイルを使用するか、プログラムでサーバーを指定します。
プロキシ サーバーを指定するには、次のように Machine.config または Web.config ファイルの設定を設定します。
<configuration>
<system.net>
<defaultProxy>
<proxy
usesystemdefault = "false"
proxyaddress="http://proxyserver"
bypassonlocal="true"
/>
</defaultProxy>
</system.net>
</configuration>
オブジェクトを使用してプログラムで設定を WebProxy
変更するには、次のサンプル コードを使用します。
using System.Net;
com.someserver.somewebservice.someclass MyWebServiceClass = new com.someserver.somewebservice.someclass ();
IWebProxy proxyObject = new WebProxy ("http://myproxyserver:80", true);
MyWebServiceClass.Proxy = proxyObject;
MyWebServiceClass.MyWebMethod ();
NTLM 認証を必要とするプロキシ サーバー
プロキシ サーバー Windows NT LAN Manager (NTLM) 認証を設定するには、次のサンプル コードを使用します。
using System.Net;
WebProxy myProxy = new WebProxy ("http://proxyserver:port", true);
myProxy.Credentials = CredentialCache.DefaultCredentials;
FindServiceSoap myFindService = new FindServiceSoap ();
myFindService.Proxy = myProxy;
システム全体のプロキシを既定で使用することもできます。 これを行うには、構成ファイルで次の設定を使用します。
<configuration>
<system.net>
<defaultProxy>
<proxy
proxyaddress = "http://proxyserver:80"
bypassonlocal = "true"
/>
</defaultProxy>
</system.net>
</configuration>
関連情報
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示