Para un cliente ASMX baseado en HttpWebClientProtocol de .NET Framework, configure o seu Proxy público antes da primeira operación de rede:

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

ReportsService é a clase xerada e proxyAccount procede do despregamento. As credenciais do servizo SOAP son independentes. Esta asignación non precisa repetirse dentro de cada operación xerada.

Se o cambio afecta unha opción subxacente da solicitude ou a instrumentación, use o GetWebRequest(Uri) sobrescribible da base heredada. Manteña unha declaración parcial coincidente nun ficheiro compilado aparte cando a clase xerada sexa parcial; se non, un cliente derivado axeitado pode fornecer a sobrescritura. Chame a implementación base e conserve a construción normal da solicitude.

Ese emprazamento sobrevive á actualización da referencia web: a rexeración pode substituír as edicións manuais en Reference.cs, mentres que as extensións mantidas por separado seguen sendo reproducibles.

Cambie só o comportamento da solicitude que realmente se necesite. Copiar unha solución alternativa de KeepAlive pode afectar a reutilización de conexións e a autenticación que depende do estado da conexión.

Este é o modelo ASMX/.NET Framework. WCF e outras pilas SOAP teñen as súas propias interfaces de transporte. Escolla a configuración de cliente admitida antes de introducir unha extensión personalizada.

Artigos relacionados