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.

Relaterede artikler