HttpClient クラスでプロキシの自動構成スクリプト使用時プロキシ接続ができない状態が保持される

現象

HttpClient クラスを使用しプロキシサーバーを自動構成スクリプトで構成している状況では、一旦ネットワークが無効となるなどでプロキシサーバーを自動構成スクリプトで構成できない状況で通信が発生し失敗すると、その後ネットワークが有効となってもプロセスを終了するまで、プロキシサーバーを経由しての通信が行えなくなります。

原因

HttpClient クラス内部ではプロキシサーバーを自動構成スクリプトで構成できなかった状態や接続ができなかった状態が保持されており、ネットワークが有効になった後もこの状態を再利用するため、本現象が発生します。

回避策

- アプリケーション利用者
本現象が発生し、プロキシの自動構成が行えない状況になった場合は、アプリケーションのプロセスを終了し再起動することで回避出来ます。

- アプリケーション開発者
HttpClinet クラスでの通信を行う際に、ネットワークが有効化を確認し無効である場合などには HttpClient クラスでの通信を行わないといった方法で、本現象の条件である "自動構成スクリプトによるプロキシサーバーの構成と接続が行えない状態での HttpCleint での通信" を極力避ける事で、現象発生の軽減が図れます。

ネットワーク状況を確認するには、NetworkInformation.NetworkStatusChanged イベントで変更通知を管理したり、NetworkInformation.GetInternetConnectionProfile() メソッドで接続の状態を確認するといった方法が考えられます。

状況

本現象は HttpClient クラスの制限事項です。

詳細

本現象は、 .NET Framework の HttpClient クラス、Windows ストア アプリ用 .NET の HttpClient クラス、ともに発生します。
プロパティ

文書番号:2863422 - 最終更新日: 2016/09/29 - リビジョン: 1

フィードバック