För en ASMX-klient baserad på .NET Frameworks HttpWebClientProtocol konfigurerar du den offentliga Proxy före den första nätverksåtgärden:

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

ReportsService är den genererade klassen och proxyAccount kommer från distributionen. SOAP-tjänstens autentiseringsuppgifter är separata. Den här tilldelningen behöver inte upprepas i varje genererad åtgärd.

Om ändringen gäller ett underliggande begärandealternativ eller instrumentering använder du den åsidosättbara GetWebRequest(Uri) i den äldre basen. Håll en matchande partiell deklaration i en separat kompilerad fil när den genererade klassen är partiell; annars kan en lämplig härledd klient tillhandahålla åsidosättningen. Anropa basimplementeringen och bevara normal uppbyggnad av begäran.

Den placeringen överlever uppdatering av webbreferensen: regenerering kan ersätta manuella ändringar i Reference.cs, medan separat underhållna tillägg förblir reproducerbara.

Ändra bara det begärandebeteende som verkligen behövs. Att kopiera en KeepAlive-lösning kan påverka återanvändning av anslutningar och autentisering som beror på anslutningstillstånd.

Det här är ASMX/.NET Framework-modellen. WCF och andra SOAP-stackar har egna transportgränssnitt. Välj den klientinställning som stöds innan du inför ett anpassat tillägg.

Relaterade artiklar