Para un cliente ASMX basado en HttpWebClientProtocol de .NET Framework, configure su Proxy público antes de la primera operación de red:

var service = new ReportsService();
service.Proxy = new WebProxy("http://proxy.example:8080")
{
    Credentials = proxyAccount
};

ReportsService es la clase generada y proxyAccount proviene de la implementación. Las credenciales del servicio SOAP son independientes. Esta asignación no necesita repetirse dentro de cada operación generada.

Si el cambio afecta a una opción subyacente de la solicitud o a la instrumentación, use el GetWebRequest(Uri) sobrescribible de la base heredada. Mantenga una declaración parcial coincidente en un archivo compilado aparte cuando la clase generada sea parcial; de lo contrario, un cliente derivado adecuado puede proporcionar la sobrescritura. Llame a la implementación base y conserve la construcción normal de la solicitud.

Esa ubicación sobrevive a la actualización de la referencia web: la regeneración puede reemplazar las ediciones manuales en Reference.cs, mientras que las extensiones mantenidas por separado siguen siendo reproducibles.

Cambie solo el comportamiento de la solicitud que realmente se necesite. Copiar una solución alternativa de KeepAlive puede afectar la reutilización de conexiones y la autenticación que depende del estado de la conexión.

Este es el modelo de ASMX/.NET Framework. WCF y otras pilas SOAP tienen sus propias interfaces de transporte. Elija la configuración de cliente admitida antes de introducir una extensión personalizada.

Artículos relacionados