Hold ASMX-proxyinnstillinger utenfor den genererte Reference.cs
Konfigurer en ASMX-tjenesteklient via dens offentlige proxyegenskaper, og hold nødvendig tilpasning av forespørsler atskilt fra regenererte referansefiler.
For en ASMX-klient basert på .NET Frameworks HttpWebClientProtocol, konfigurer 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 distribusjonen. SOAP-tjenestens legitimasjon er atskilt. Denne tilordningen trenger ikke gjentas inne i hver genererte operasjon.
Hvis endringen gjelder et underliggende forespørselsalternativ eller instrumentering, bruk den eldre basens overstyrbare GetWebRequest(Uri). Hold en samsvarende delvis deklarasjon i en egen kompilert fil når den genererte klassen er delvis; ellers kan en passende avledet klient levere overstyringen. Kall basisimplementeringen og bevar normal oppbygging av forespørselen.
Den plasseringen overlever 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.