Guarde la política derivada de la configuración antes de que la aplicación reemplace WebRequest.DefaultWebProxy por primera vez:

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

Restaure esa referencia en el límite controlado de la aplicación:

System.Net.WebRequest.DefaultWebProxy = configuredPolicy;

Un IWebProxy puede elegir rutas y omisiones distintas para destinos distintos. Resolver una URL de prueba y construir un WebProxy fijo a partir de la respuesta pierde esas decisiones.

DefaultProxySection son datos de configuración, no una interfaz pública de conversión para recrear la política efectiva del Framework. Su código interno de conversión no es una API de la aplicación.

El valor guardado es una referencia al objeto, no una copia profunda. Si la aplicación modifica las credenciales o la configuración de ese objeto, volver a asignar la referencia no deshace esos cambios.

Para una sola solicitud o una carga de trabajo aparte, configure su cliente directamente. Cambiar temporalmente este valor predeterminado compartido durante trabajo concurrente da a los demás llamadores la misma política cambiante.

Artículos relacionados