Benutzerdefinierte Bindungen
Verwenden Sie die CustomBinding-Klasse, wenn eine der vom System bereitgestellten Bindungen die Anforderungen für Ihren Dienst nicht erfüllt. Alle Bindungen werden anhand einer geordneten Menge von Bindungselementen erstellt. Benutzerdefinierte Bindungen können alleine aus systemeigenen Bindungselementen erstellt werden oder auch benutzerspezifische Bindungselemente umfassen. So können Sie mithilfe von benutzerdefinierten Bindungselementen beispielsweise die Verwendung neuer Transporte oder Encoder an einem Dienstendpunkt aktivieren. Ein Arbeitsbeispiel finden Sie unter Custom Binding Samples. Weitere Informationen finden Sie unter <customBinding>.
Aufbau einer benutzerdefinierten Bindung
Eine benutzerdefinierte Bindung wird unter Verwendung des CustomBinding-Konstruktors aus einer Sammlung von Bindungselementen erstellt, die in einer spezifischen Reihenfolge "gestapelt" sind:
- Am Anfang steht eine optionale TransactionFlowBindingElement-Klasse, die den Transaktionsfluss ermöglicht.
- Darauf folgt eine optionale ReliableSessionBindingElement-Klasse, die eine Sitzung und Sortiermechanismen wie in der WS-ReliableMessaging-Spezifikation definiert bereitstellt. Eine Sitzung kann SOAP- und Transportvermittler überqueren.
- Anschließend folgt eine SecurityBindingElement-Klasse, die Sicherheitsfunktionen wie Autorisierung, Authentifizierung, Schutz und Vertraulichkeit bereitstellt.
- Darauf wiederum folgt ein erforderliches, Nachrichten codierendes Bindungselement. Sie können Ihren eigenen Nachrichtenencoder oder eine von drei Nachrichten codierenden Bindungen verwenden:
Am Ende befindet sich ein erforderliches Transportelement. Sie können Ihren eigenen Transport oder eines der folgenden, von Windows Communication Foundation (WCF) bereitgestellten Transportbindungselemente verwenden:
- TcpTransportBindingElement
- HttpTransportBindingElement
- HttpsTransportBindingElement
- NamedPipeTransportBindingElement
- PeerTransportBindingElement
- MsmqTransportBindingElement
- MsmqIntegrationBindingElement
- ConnectionOrientedTransportBindingElement
In der folgenden Tabelle werden die Optionen für jede Ebene zusammengefasst.
Ebene | Optionen | Erforderlich |
---|---|---|
Transaktionen |
TransactionFlowBindingElement |
Nein |
Zuverlässigkeit |
ReliableSessionBindingElement |
Nein |
Sicherheit |
SecurityBindingElement |
Nein |
Codierung |
Text, binär, Message Transmission Optimization Mechanism (MTOM), benutzerdefiniert |
Ja |
Transport |
TCP, HTTP, HTTPS, benannte Pipes (Named Pipes, auch als IPC bekannt), Peer-to-Peer (P2P), Message Queuing (auch als MSMQ bekannt), benutzerdefiniert |
Ja |
Zusätzlich können Sie Ihre eigenen Bindungselemente definieren und diese zwischen den vorangehenden definierten Ebenen einsetzen.
Siehe auch
Aufgaben
Gewusst wie: Anpassen einer vom System bereitgestellten Bindung
Konzepte
Übersicht über die Endpunkterstellung
Verwenden von Bindungen, um Dienste und Clients zu konfigurieren
Vom System bereitgestellte Bindungen