Hold ASMX-proxyindstillinger uden for den genererede Reference.cs
Konfigurer en ASMX-tjenesteklient via dens offentlige proxyegenskaber, og hold nødvendig tilpasning af anmodninger adskilt fra regenererede referencer.
For en ASMX-klient baseret på .NET Frameworks HttpWebClientProtocol skal du konfigurere dens offentlige Proxy før den første netværkshandling:
var service = new ReportsService();
service.Proxy = new WebProxy("http://proxy.example:8080")
{
Credentials = proxyAccount
};
ReportsService er den genererede klasse, og proxyAccount kommer fra udrulningen. SOAP-tjenestens legitimationsoplysninger er adskilte. Denne tildeling behøver ikke gentages i hver genereret handling.
Hvis ændringen vedrører en underliggende anmodningsindstilling eller instrumentering, skal du bruge den ældre basisklasses tilsidesættelige GetWebRequest(Uri). Behold en matchende partial-erklæring i en separat kompileret fil, når den genererede klasse er partial; ellers kan en passende afledt klient levere tilsidesættelsen. Kald basisimplementeringen, og bevar normal opbygning af anmodningen.
Den placering overlever opdatering af webreferencen: regenerering kan erstatte manuelle ændringer i Reference.cs, mens separat vedligeholdte udvidelser forbliver reproducerbare.
Ændr kun den anmodningsadfærd, der faktisk er nødvendig. Kopiering af en KeepAlive-workaround kan påvirke genbrug af forbindelser og godkendelse, der afhænger af forbindelsestilstanden.
Dette er ASMX/.NET Framework-modellen. WCF og andre SOAP-stakke har deres egne transportgrænseflader. Vælg den understøttede klientindstilling, før du introducerer en brugerdefineret udvidelse.