Gewusst wie: Deaktivieren sicherer Sitzungen auf einer WSFederationHttpBinding
Für einige Dienste sind möglicherweise verbundene Anmeldeinformationen notwendig, sichere Sitzungen werden jedoch nicht unterstützt. In diesem Fall müssen Sie die Funktion für sichere Sitzungen deaktivieren. Im Gegensatz zu WsHttpBinding bietet die WSFederationHttpBinding-Klasse keinen Weg, um sichere Sitzungen bei der Kommunikation mit einem Dienst zu deaktivieren. Sie müssen vielmehr eine benutzerdefinierte Bindung erstellen, die die Einstellungen der sicheren Sitzung durch einen Bootstrap ersetzen.
In diesem Thema wird veranschaulicht, wie Sie das Bindungselement, das sich in einer WSFederationHttpBinding befindet, ändern können, um eine benutzerdefinierte Bindung zu erstellen. Das Ergebnis entspricht WSFederationHttpBinding mit Ausnahme der Tatsache, dass keine sicheren Sitzungen verwendet werden.
So erstellen Sie eine benutzerdefinierte Verbundbindung ohne sichere Sitzung
Erstellen Sie eine Instanz der WSFederationHttpBinding-Klasse, sei es imperativ im Code oder durch das Laden einer Instanz aus der Konfigurationsdatei.
Klonen Sie WSFederationHttpBinding in CustomBinding.
Suchen Sie SecurityBindingElement in CustomBinding.
Suchen Sie SecureConversationSecurityTokenParameters in SecurityBindingElement.
Ersetzen Sie das ursprüngliche SecurityBindingElement durch das Bootstrap-Sicherheitsbindungselement aus SecureConversationSecurityTokenParameters.
Beispiel
Mit dem folgenden Beispielcode wird eine benutzerdefinierte Verbundbindung ohne sichere Sitzung erstellt.
Kompilieren des Codes
- Um das Codebeispiel zu kompilieren, erstellen Sie ein Projekt, das auf die System.ServiceModel.dll-Assembly verweist.