Konfigurieren Sie bei einem ASMX-Client auf Basis des HttpWebClientProtocol des .NET Framework die öffentliche Eigenschaft Proxy vor dem ersten Netzwerkvorgang:

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

ReportsService ist die generierte Klasse, und proxyAccount stammt aus der Bereitstellung. Die Anmeldeinformationen des SOAP-Dienstes sind getrennt. Diese Zuweisung muss nicht in jedem generierten Vorgang wiederholt werden.

Betrifft die Änderung eine zugrunde liegende Anforderungsoption oder Instrumentierung, verwenden Sie die überschreibbare Methode GetWebRequest(Uri) der Legacy-Basis. Halten Sie eine passende partielle Deklaration in einer eigens kompilierten Datei, wenn die generierte Klasse partiell ist; andernfalls kann ein geeigneter abgeleiteter Client die Überschreibung bereitstellen. Rufen Sie die Basisimplementierung auf und bewahren Sie den normalen Aufbau der Anforderung.

Diese Platzierung übersteht die Aktualisierung der Webreferenz: Eine Neugenerierung kann manuelle Änderungen in Reference.cs ersetzen, während separat gepflegte Erweiterungen reproduzierbar bleiben.

Ändern Sie nur das tatsächlich benötigte Anforderungsverhalten. Das Kopieren eines KeepAlive-Workarounds kann die Wiederverwendung von Verbindungen und die von Verbindungszustand abhängige Authentifizierung beeinflussen.

Dies ist das ASMX/.NET-Framework-Modell. WCF und andere SOAP-Stacks haben eigene Transport-Schnittstellen. Wählen Sie die unterstützte Clienteinstellung, bevor Sie eine benutzerdefinierte Erweiterung einführen.

Ähnliche Artikel