Benutzerdefinierte BindungenCustom Bindings

Verwenden Sie die CustomBinding-Klasse, wenn eine der vom System bereitgestellten Bindungen die Anforderungen für Ihren Dienst nicht erfüllt.You can use the CustomBinding class when one of the system-provided bindings does not meet the requirements of your service. Alle Bindungen werden anhand einer geordneten Menge von Bindungselementen erstellt.All bindings are constructed from an ordered set of binding elements. Benutzerdefinierte Bindungen können alleine aus nativen Bindungselementen erstellt werden oder auch benutzerspezifische Bindungselemente umfassen.Custom bindings can be built from a set of system-provided binding elements or can include user-defined custom binding elements. So können Sie mithilfe von benutzerdefinierten Bindungselementen beispielsweise die Verwendung neuer Transporte oder Encoder an einem Dienstendpunkt aktivieren.You can use custom binding elements, for example, to enable the use of new transports or encoders at a service endpoint. Funktionierende Beispiele finden Sie in Beispiele für die benutzerdefinierte Bindung.For working examples, see Custom Binding Samples. Weitere Informationen finden Sie unter <CustomBinding >.For more information, see <customBinding>.

Aufbau einer benutzerdefinierten BindungConstruction of a Custom Binding

Eine benutzerdefinierte Bindung wird unter Verwendung des CustomBinding-Konstruktors aus einer Sammlung von Bindungselementen erstellt, die in einer spezifischen Reihenfolge "gestapelt" sind:A custom binding is constructed using the CustomBinding constructor from a collection of binding elements that are "stacked" in a specific order:

  • Am Anfang steht eine optionale TransactionFlowBindingElement-Klasse, die den Transaktionsfluss ermöglicht.At the top is an optional TransactionFlowBindingElement class that allows flowing transactions.

  • Darauf folgt eine optionale ReliableSessionBindingElement-Klasse, die eine Sitzung und Sortiermechanismen wie in der WS-ReliableMessaging-Spezifikation definiert bereitstellt.Next is an optional ReliableSessionBindingElement class that provides a session and ordering mechanisms as defined in the WS-ReliableMessaging specification. Eine Sitzung kann SOAP- und Transportvermittler überqueren.A session can cross SOAP and transport intermediaries.

  • Anschließend folgt eine SecurityBindingElement-Klasse, die Sicherheitsfunktionen wie Autorisierung, Authentifizierung, Schutz und Vertraulichkeit bereitstellt.Next is an optional SecurityBindingElement class that provides security features such as authorization, authentication, protection, and confidentiality.

  • Hierauf folgt eine optionale CompositeDuplexBindingElement-Klasse, die eine Duplexkommunikation mit einem Transportprotokoll ermöglicht, das selbst keine Duplexkommunikation unterstützt, z. B. HTTP.Next is an optional CompositeDuplexBindingElement class that provides the ability to have two way duplex communication with a transport protocol that does not support duplex communication natively, such as HTTP.

  • Danach folgt eine optionale OneWayBindingElement-Klasse, die eine unidirektionale Kommunikation bereitstellt.Next is an optional OneWayBindingElement) class that provides one-way communication.

  • Dann folgt ein optionales Streamsicherheitsbindungselement, das einem der folgenden Elemente entsprechen kann.Next is an optional stream security binding element which can be one of the following.

  • Darauf wiederum folgt ein erforderliches, Nachrichten codierendes Bindungselement.Next is a required message encoding binding element. Sie können Ihren eigenen Nachrichtenencoder oder eine von drei Nachrichten codierenden Bindungen verwenden:You can use your own message encoder or one of the three message encoding bindings:

Am Ende befindet sich ein erforderliches Transportelement.At the bottom is a required transport element. Sie können Ihren eigenen Transport oder eines der folgenden transportbindungselemente, die Windows Communication Foundation (WCF) enthält:You can use your own transport or one of the following transport binding elements Windows Communication Foundation (WCF) provides:

In der folgenden Tabelle werden die Optionen für jede Ebene zusammengefasst.The following table summarizes the options for each layer.

EbeneLayer OptionenOptions ErforderlichRequired
TransaktionenTransactions TransactionFlowBindingElement NeinNo
ZuverlässigkeitReliability ReliableSessionBindingElement NeinNo
SicherheitSecurity SecurityBindingElement NeinNo
CodierungEncoding Text, binär, Message Transmission Optimization Mechanism (MTOM), benutzerdefiniertText, binary, Message Transmission Optimization Mechanism (MTOM), custom JaYes
TransportTransport TCP, HTTP, HTTPS, benannte Pipes (Named Pipes, auch als IPC bekannt), Peer-to-Peer (P2P), Message Queuing (auch als MSMQ bekannt), benutzerdefiniertTCP, HTTP, HTTPS, named pipes (also known as IPC), Peer-to-Peer (P2P), Message Queuing (also known as MSMQ), Custom JaYes

Zusätzlich können Sie Ihre eigenen Bindungselemente definieren und diese zwischen den vorangehenden definierten Ebenen einsetzen.In addition, you can define your own binding elements and insert them between any of the preceding defined layers.

Siehe auchSee Also

Übersicht über die EndpunkterstellungEndpoint Creation Overview
Verwenden von Bindungen, um Dienste und Clients zu konfigurierenUsing Bindings to Configure Services and Clients
Vom System bereitgestellte BindungenSystem-Provided Bindings
Vorgehensweise: Anpassen einer vom System bereitgestellten BindungHow to: Customize a System-Provided Binding
<customBinding><customBinding>
Benutzerdefinierte BindungCustom Binding