アプリケーションが WebRequest.DefaultWebProxy を初めて置き換える前に、構成から得られたポリシーを保存します:

System.Net.IWebProxy configuredPolicy =
    System.Net.WebRequest.DefaultWebProxy;

制御されたアプリケーション境界でその参照を復元します:

System.Net.WebRequest.DefaultWebProxy = configuredPolicy;

IWebProxy は宛先ごとに異なるルートとバイパスを選択できます。テスト用 URL を単独で解決し、その応答から固定の WebProxy を構築すると、その判断が失われます。

DefaultProxySection は構成データであり、Framework の実際のポリシーを再現するための公開変換インターフェイスではありません。その内部変換コードはアプリケーション API ではありません。

保存された値はオブジェクト参照であり、深いコピーではありません。アプリケーションがそのオブジェクトの資格情報や設定を変更した場合、参照を戻してもその変更は取り消せません。

単一の要求や別個のワークロードでは、そのクライアントを直接構成します。この共有の既定値を同時作業の周囲で一時的に切り替えると、他の呼び出し元にも同じ変化するポリシーが渡ります。

関連記事