U klienta ASMX založeného na HttpWebClientProtocol rozhraní .NET Framework nakonfigurujte jeho veřejnou vlastnost Proxy před první síťovou operací:

var service = new ReportsService();
service.Proxy = new WebProxy("http://proxy.example:8080")
{
    Credentials = proxyAccount
};

ReportsService je generovaná třída a proxyAccount pochází z nasazení. Přihlašovací údaje služby SOAP jsou oddělené. Toto přiřazení není nutné opakovat uvnitř každé generované operace.

Pokud se změna týká podkladové volby požadavku nebo instrumentace, použijte přepisovatelnou metodu GetWebRequest(Uri) starší základní třídy. Pokud je generovaná třída částečná, ponechte odpovídající částečnou deklaraci v samostatně kompilovaném souboru; jinak může přepsání poskytnout vhodný odvozený klient. Volejte implementaci základní třídy a zachovejte běžné sestavení požadavku.

Toto umístění přežije aktualizaci webové reference: regenerace může nahradit ruční úpravy v Reference.cs, zatímco samostatně udržovaná rozšíření zůstávají reprodukovatelná.

Měňte pouze chování požadavku, které je skutečně potřeba. Kopírování obejití KeepAlive může ovlivnit opětovné použití připojení a ověřování závislé na stavu připojení.

Toto je model ASMX/.NET Framework. WCF a další SOAP stacky mají vlastní transportní rozhraní. Před zavedením vlastního rozšíření zvolte podporované nastavení klienta.

Související články