For ein ASMX-klient basert på HttpWebClientProtocol i .NET Framework, konfigurer den offentlege 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 kjem frå distribusjonen. SOAP-tenesta sine legitimasjonar er skilde. Denne tildelinga treng ikkje gjerast om att inne i kvar genererte operasjon.

Viss endringa gjeld eit underliggjande førespurnadsval eller instrumentering, bruk den overstyrbare GetWebRequest(Uri) til den gamle basisen. Hald ein samsvarande delvis deklarasjon i ei eiga kompilert fil når den genererte klassen er delvis; elles kan ein høveleg avleidd klient gje overstyringa. Kall basisimplementasjonen og hald på normal oppbygging av førespurnaden.

Den plasseringa overlever oppdatering av webreferansen: regenerering kan byte ut manuelle endringar i Reference.cs, medan separat vedlikehaldne utvidingar blir verande reproduserbare.

Endre berre den førespurnadsåtferda som faktisk er naudsynt. Kopiering av ei KeepAlive-løysing kan påverke gjenbruk av tilkoplingar og autentisering som er avhengig av tilkoplingstilstand.

Dette er ASMX/.NET Framework-modellen. WCF og andre SOAP-stakkar har eigne transportgrensesnitt. Vel den støtta klientinnstillinga før du innfører ei tilpassa utviding.

Relaterte artiklar