ASMX-Proxy-Einstellungen außerhalb der generierten Reference.cs halten
Konfigurieren Sie einen ASMX-Dienstclient über seine öffentlichen Proxy-Eigenschaften und halten Sie notwendige Anpassungen der Anforderung getrennt von neu generierten Referenzdateien.
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.