Hold ASMX-proxyinnstillingene utenfor den genererte Reference.cs
Konfigurer en ASMX-tjenesteklient gjennom dens offentlige proxyegenskaper, og hold nødvendig tilpasning av forespørsler adskilt fra regenererte referansefiler.
For en ASMX-klient basert på .NET Frameworks HttpWebClientProtocol konfigurerer du den offentlige Proxy før den første nettverksoperasjonen:
var service = new ReportsService();
service.Proxy = new WebProxy("http://proxy.example:8080")
{
Credentials = proxyAccount
};
ReportsService er den genererte klassen, og proxyAccount kommer fra utrullingen. SOAP-tjenestens påloggingsinformasjon er adskilt. Denne tilordningen trenger ikke gjentas inne i hver genererte operasjon.
Hvis endringen gjelder et underliggende forespørselsalternativ eller instrumentering, bruk den overstyrbare GetWebRequest(Uri) til den gamle basisklassen. Hold en samsvarende delvis deklarasjon i en egen kompilert fil når den genererte klassen er delvis; ellers kan en egnet avledet klient levere overstyringen. Kall basisimplementasjonen og bevar vanlig oppbygging av forespørselen.
Den plasseringen tåler oppdatering av webreferansen: regenerering kan erstatte manuelle endringer i Reference.cs, mens separat vedlikeholdte utvidelser forblir reproduserbare.
Endre bare den forespørselsatferden som faktisk er nødvendig. Kopiering av en KeepAlive-løsning kan påvirke gjenbruk av tilkoblinger og autentisering som avhenger av tilkoblingstilstand.
Dette er ASMX/.NET Framework-modellen. WCF og andre SOAP-stakker har egne transportgrensesnitt. Velg den støttede klientinnstillingen før du innfører en tilpasset utvidelse.