Vom System bereitgestellte BindungenSystem-provided bindings

Bindungen geben den Kommunikationsmechanismus für die Kommunikation mit einem Endpunkt und die zum Herstellen einer Verbindung mit einem Endpunkt erforderlichen Kommunikationsdetails an.Bindings specify the communication mechanism to use when talking to an endpoint and indicate how to connect to an endpoint. Eine Bindung enthält die folgenden Elemente:A binding contains the following elements:

  • Der Protokollstapel legt die Einstellungen bezüglich Sicherheit, Zuverlässigkeit und Kontextablauf fest, die beim Senden von Nachrichten zum Endpunkt verwendet werden.The protocol stack determines the security, reliability, and context flow settings to use for messages that are sent to the endpoint.

  • Die Transportebene bestimmt das zugrunde liegende Transportprotokoll, das zum Senden von Nachrichten zum Endpunkt verwendet werden soll, beispielsweise TCP oder HTTP.The transport determines the underlying transport protocol to use when sending messages to the endpoint, for example, TCP or HTTP.

  • Die Codierung bestimmt die Nachrichtencodierung, die für Nachrichten verwendet werden soll, die an den Endpunkt gesendet werden.The encoding determines the wire encoding to use for messages that are sent to the endpoint. Beispielsweise Text/XML, binär, Message Transmission Optimization Mechanism (MTOM).For example, text/XML, binary, or Message Transmission Optimization Mechanism (MTOM).

In diesem Artikel sind alle vom System bereitgestellten WCF-Bindungen (Windows Communication Foundation) aufgeführt.This article presents all of the system-provided Windows Communication Foundation (WCF) bindings. Wenn keine dieser Bindungen die Kriterien der Anwendung erfüllt, können Sie eine benutzerdefinierte Bindung erstellen.If none of these bindings meets the exact criteria for your application, you can create a custom binding. Weitere Informationen zum Erstellen benutzerdefinierter Bindungen finden Sie unter Benutzerdefinierte Bindungen.For more information about creating custom bindings, see Custom Bindings.

Eine sichere und vollständig kompatible Bindung, die das WS-Federationprotokoll unterstützt, ermöglicht es einem Verbund angehörenden Organisationen, Benutzer effizient zu authentifizieren und zu autorisieren.A secure and interoperable binding that supports the WS-Federation protocol enables organizations that are in a federation to efficiently authenticate and authorize users.

Wichtig

Wählen Sie immer eine Bindung aus, die Sicherheitsfunktionen einschließt.Always select a binding that includes security. Standardmäßig weisen alle Bindungen mit Ausnahme des <basicHttpBinding>-Elements aktivierte Sicherheitsfunktionen auf.By default, all bindings except the <basicHttpBinding> element have security enabled. Wenn Sie keine sichere Bindung auswählen oder Sicherheitsfunktionen deaktivieren, müssen Sie die Daten auf eine andere Weise schützen, z. B. durch ein geschütztes Rechenzentrum oder ein isoliertes Netzwerk.If you do not select a secure binding or disable security, be sure to protect your data in some other manner, such as storing in a secured data center or on an isolated network.

Wichtig

Verwenden Sie nur dann Duplexverträge mit Bindungen, die keine Sicherheitsfunktionen unterstützen oder bei denen die Sicherheitsfunktionen deaktiviert sind, wenn Sie die Daten auf andere Weise schützen.Never use duplex contracts with bindings that do not support security or that have security disabled unless you secure the data by some other means.

Die folgenden Bindungen sind im Lieferumfang von WCF enthalten.The following bindings ship with WCF:

BindungBinding KonfigurationselementConfiguration Element descriptionDescription
BasicHttpBinding <basicHttpBinding><basicHttpBinding> Eine Bindung, die sich für die Kommunikation mit Webdiensten eignet, die mit WS-Basic Profile kompatibel sind, beispielsweise auf ASP.NET-Webdiensten (ASMX) basierende Dienste.A binding that is suitable for communicating with WS-Basic Profile-conformant Web services, for example, ASP.NET Web services (ASMX)-based services. Diese Bindung verwendet HTTP als Transport und Text/XML als Standardnachrichtencodierung.This binding uses HTTP as the transport and text/XML as the default message encoding.
WSHttpBinding <wsHttpBinding><wsHttpBinding> Eine sichere und vollständig kompatible Bindung, die sich für Nicht-Duplexdienstverträge eignet.A secure and interoperable binding that is suitable for non-duplex service contracts.
WSDualHttpBinding <wsDualHttpBinding><wsDualHttpBinding> Eine sichere und vollständig kompatible Bindung, die für Duplexdienstverträge oder für die Kommunikation über SOAP-Vermittler geeignet ist.A secure and interoperable binding that is suitable for duplex service contracts or communication through SOAP intermediaries.
WSFederationHttpBinding <wsFederationHttpBinding><wsFederationHttpBinding> Eine sichere und vollständig kompatible Bindung, die das WS-Verbundsprotokoll unterstützt, die es einem Verbund angehörenden Organisationen ermöglicht, Benutzer effizient zu authentifizieren und zu autorisieren.A secure and interoperable binding that supports the WS-Federation protocol, which enables organizations that are in a federation to efficiently authenticate and authorize users.
NetHttpBinding <netHttpBinding><netHttpBinding> Eine für die Nutzung von HTTP- oder WebSocket-Diensten entwickelte Bindung, die standardmäßig die binäre Codierung verwendet.A binding designed for consuming HTTP or WebSocket services that uses binary encoding by default.
NetHttpsBinding <netHttpsBinding><netHttpsBinding> Eine für die Nutzung von HTTP- oder WebSocket-Diensten entwickelte sichere Bindung, die standardmäßig die binäre Codierung verwendet.A secure binding designed for consuming HTTP or WebSocket services that uses binary encoding by default.
NetTcpBinding <netTcpBinding><netTcpBinding> Eine sichere und optimierte Bindung, die sich für die computerübergreifende Kommunikation zwischen WCF-Anwendungen eignet.A secure and optimized binding suitable for cross-machine communication between WCF applications.
NetNamedPipeBinding <netNamedPipeBinding><netNamedPipeBinding> Eine sichere, zuverlässige und optimierte Bindung, die sich für die Kommunikation zwischen WCF-Anwendungen auf einem Computer eignet.A secure, reliable, optimized binding that is suitable for on-machine communication between WCF applications.
NetMsmqBinding <netMsmqBinding><netMsmqBinding> Eine der Warteschlange hinzugefügte Bindung, die sich für eine computerübergreifende Kommunikation zwischen WCF-Anwendungen eignet.A queued binding that is suitable for cross-machine communication between WCF applications.
NetPeerTcpBinding <netPeerTcpBinding><netPeerTcpBinding> Eine Bindung, die eine sichere Kommunikation zwischen mehreren Computern ermöglicht.A binding that enables secure, multiple machine communication.
MsmqIntegrationBinding <msmqIntegrationBinding><msmqIntegrationBinding> Eine Bindung, die sich für eine computerübergreifende Kommunikation zwischen einer WCF-Anwendung und vorhandenen Message Queuing-Anwendungen eignet.A binding that is suitable for cross-machine communication between a WCF application and existing Message Queuing applications.
BasicHttpContextBinding <basicHttpContextBinding><basicHttpContextBinding> Eine Bindung, die sich für die Kommunikation mit Webdiensten eignet, die mit WS-Basic Profile kompatibel sind, und so die Verwendung von HTTP-Cookies zum Austauschen von Kontext ermöglicht.A binding suitable for communicating with WS-Basic Profile conformant Web services that enables HTTP cookies to be used to exchange context.
NetTcpContextBinding <netTcpContextBinding><netTcpContextBinding> Eine sichere und optimierte Bindung, die sich für die computerübergreifende Kommunikation zwischen WCF-Anwendungen eignet und so die Verwendung von SOAP-Headern zum Austauschen von Kontext ermöglicht.A secure and optimized binding suitable for cross-machine communication between WCF applications that enables SOAP headers to be used to exchange context.
WebHttpBinding <webHttpBinding><webHttpBinding> Eine Bindung, die zum Konfigurieren von Endpunkten für WCF-Webdienste verwendet wird, die durch HTTP-Anforderungen und nicht durch SOAP-Nachrichten bereitgestellt werden.A binding used to configure endpoints for WCF Web services that are exposed through HTTP requests instead of SOAP messages.
WSHttpContextBinding <wsHttpContextBinding><wsHttpContextBinding> Eine sichere und vollständig kompatible Bindung, die sich für Nicht-Duplexdienstverträge eignet und so die Verwendung von SOAP-Headern zum Austauschen von Kontext ermöglicht.A secure and interoperable binding suitable for non-duplex service contracts that enables SOAP headers to be used to exchange context.
UdpBinding <udpBinding><udpBinding> Eine Bindung, die verwendet werden soll, wenn eine große Menge einfacher Nachrichten an eine große Anzahl von Clients gleichzeitig gesendet werden soll.A binding to use when sending a burst of simple messages to a large number of clients simultaneously.

In der folgenden Tabelle sind die Funktionen der einzelnen vom System bereitgestellten Bindungen dargestellt.The following table shows the features of each of the system-provided bindings. Die Bindungen sind in den Tabellenspalten angegeben. Die Funktionen werden in den Zeilen aufgelistet und in der zweiten Tabelle beschrieben.The bindings are found in the table columns; the features are listed in the rows and described in a second table. In der folgenden Tabelle werden die im Zusammenhang mit Bindungen verwendeten Abkürzungen erklärt.The following table provides a key for the binding abbreviations used. Zur Auswahl einer Bindung ermitteln Sie, welche Spalte in den Zeilen alle Funktionen enthält, die Sie benötigen.To select a binding, determine which column satisfies all of the row features you need.

BindungBinding InteroperabilitätInteroperability Sicherheit (Standard)Security (Default) SitzungSession
(Standard)(Default)
TransaktionenTransactions DuplexDuplex Codierung (Standard)Encoding (Default) StreamingStreaming
(Standard)(Default)
BasicHttpBinding Basic Profile 1.1Basic Profile 1.1 (Keine), Transport, Nachricht, Gemischt(None), Transport, Message, Mixed (Keine)(None) (Keine)(None) n/vn/a Text, (MTOM)Text, (MTOM) JaYes
(gepuffert)(buffered)
WSHttpBinding WSWS Transport, (Nachricht), GemischtTransport, (Message), Mixed (Keine), zuverlässige Sitzung, Sicherheitssitzung(None), Reliable Session, Security Session (Keine), Ja(None), Yes n/vn/a (Text), MTOM(Text), MTOM NeinNo
WSDualHttpBinding WSWS (Nachricht), Keine(Message), None (Zuverlässige Sitzung), Sicherheitssitzung(Reliable Session), Security Session (Keine), Ja(None), Yes JaYes (Text), MTOM(Text), MTOM NeinNo
WSFederationHttpBinding WS-FederationWS-Federation (Nachricht), Gemischt, Keine(Message), Mixed, None (Keine), zuverlässige Sitzung, Sicherheitssitzung(None), Reliable Session, Security Session (Keine), Ja(None), Yes NeinNo (Text), MTOM(Text), MTOM NeinNo
NetHttpBinding .NET.NET (Keine), Transport, Nachricht, TransportWithMessageCredential, TransportCredentialOnly(None), Transport, Message, TransportWithMessageCredential, TransportCredentialOnly Siehe den Hinweis unten.See note below KeinerNone Siehe den Hinweis unten.See note below (Binär), Text, MTOM(Binary), Text, MTOM Ja (gepuffert)Yes (buffered)
NetHttpsBinding .NET.NET (Transport), TransportWithMessageCredential(Transport), TransportWithMessageCredential Siehe den Hinweis unten.See note below KeinerNone Siehe den Hinweis unten.See note below (Binär), Text, MTOM(Binary), Text, MTOM JaYes
(gepuffert)(buffered)
NetTcpBinding .NET.NET (Transport), Nachricht, Keine, Gemischt(Transport), Message, None, Mixed (Transport), zuverlässige Sitzung, Sicherheitssitzung(Transport), Reliable Session, Security Session (Keine), Ja(None), Yes JaYes BinärBinary JaYes
(gepuffert)(buffered)
NetNamedPipeBinding .NET.NET (Transport), Keine(Transport), None Keine, (Transport)None, (Transport) (Keine), Ja(None), Yes JaYes BinärBinary JaYes
(gepuffert)(buffered)
NetMsmqBinding .NET.NET Nachricht, (Transport), KeineMessage, (Transport), None Keine, (Transport)(None), Transport Keine, (Ja)None, (Yes) NeinNo BinärBinary NeinNo
NetPeerTcpBinding PeerPeer (Transport)(Transport) (Keine)(None) (Keine)(None) JaYes NeinNo
MsmqIntegrationBinding MSMQMSMQ (Transport)(Transport) (Keine)(None) Keine, (Ja)None, (Yes) n/vn/a n/vn/a NeinNo
BasicHttpContextBinding Basic Profile 1.1Basic Profile 1.1 (Keine), Transport, Nachricht, Gemischt(None), Transport, Message, Mixed (Keine)(None) (Keine)(None) n/vn/a Text, (MTOM)Text, (MTOM) JaYes
(gepuffert)(buffered)
NetTcpContextBinding .NET.NET (Transport), Nachricht, Keine, Gemischt(Transport), Message, None, Mixed (Transport), zuverlässige Sitzung, Sicherheitssitzung(Transport), Reliable Session, Security Session (Keine), Ja(None), Yes JaYes BinärBinary JaYes
(gepuffert)(buffered)
WSHttpContextBinding WSWS Transport, (Nachricht), GemischtTransport, (Message), Mixed (Keine), zuverlässige Sitzung, Sicherheitssitzung(None), Reliable Session, Security Session (Keine), Ja(None), Yes n/vn/a Text, (MTOM)Text, (MTOM) NeinNo
UdpBinding

Hinweis: Interoperabilität lässt sich durch Implementieren der SOAP-über-UDP-Standardspezifikation erzielen, die von dieser Bindung implementiert wird.Note: Interoperability can be achieved by implementing the standard SOAP-over-UDP spec which this binding implements.
.NET.NET (Keine)(None) (Keine)(None) (Keine)(None) n/vn/a (Text)(Text) NeinNo

Wichtig

NetHttpBinding ist eine für die Nutzung von HTTP- oder WebSocket-Diensten entwickelte Bindung, die standardmäßig die binäre Codierung verwendet.NetHttpBinding is a binding designed for consuming HTTP or WebSocket services and uses binary encoding by default. Die NetHttpBinding erkennt, ob sie mit einem Anforderung-Antwort-Vertrag oder einem Duplexvertrag verwendet wird, und ändert das Verhalten entsprechend, indem HTTP für Anforderung-Antwort und WebSockets für Duplex verwendet werden.NetHttpBinding detects whether it's used with a request-reply contract or duplex contract and changes its behavior to match; it uses HTTP for request-reply and WebSockets for duplex. Dieses Verhalten kann mithilfe der WebSocketTransportUsage-Bindungseinstellung überschrieben werden: „WhenDuplex“ ist der Standardwert, der das oben beschriebene Verhalten aufweist.This behavior can be overridden using the WebSocketTransportUsage binding setting: WhenDuplex - This is the default value and behaves as described above. Never: Verhindert die Verwendung von WebSockets.Never - This prevents WebSockets from being used. Der Versuch, einen Duplexvertrag mit dieser Einstellung zu verwenden, löst eine Ausnahme aus.Attempting to use a duplex contract with this setting results in an exception. Always: Erzwingt die Verwendung von WebSockets sogar für Anforderung-Antwort-Verträge.Always - This forces WebSockets to be used even for request-reply contracts. NetHttpBinding unterstützt zuverlässige Sitzungen im HTTP-Modus und WebSocket-Modus.NetHttpBinding supports reliable sessions in both HTTP mode and WebSocket mode. Im WebSocket-Modus werden Sitzungen vom Transport bereitgestellt.In WebSocket mode sessions are provided by the transport.

Die in der vorstehenden Tabelle aufgeführten Funktionen werden in der folgenden Tabelle erläutert.The following table explains the features listed in the previous table.

FeatureFeature descriptionDescription
InteroperabilitätstypInteroperability Type Benennt das Protokoll oder die Technologie, mit dem bzw. der in der Bindung die Zusammenarbeit sichergestellt wird.Names the protocol or technology with which the binding ensures interoperation.
SicherheitSecurity Gibt an, wie der Kanal geschützt wird.Specifies how the channel is secured:
– Keine: Die SOAP-Nachricht wird nicht geschützt, und der Client wird nicht authentifiziert.- None: The SOAP message isn't secured and the client isn't authenticated.
– Transport: Die Sicherheitsanforderungen werden auf der Transportebene erfüllt.- Transport: Security requirements are satisfied at the transport layer.
– Nachricht: Die Sicherheitsanforderungen werden auf der Nachrichtenebene erfüllt.- Message: Security requirements are satisfied at the message layer.
– Gemischt: Ansprüche werden in der Nachricht übermittelt, Anforderungen an Integrität und Vertraulichkeit werden auf der Transportebene erfüllt.- Mixed: Claims are carried in the message; integrity and confidentiality requirements are satisfied by the transport layer.
SitzungSession Gibt an, ob die betreffende Bindung Sitzungsverträge unterstützt.Specifies whether this binding supports session contracts.
TransaktionenTransactions Gibt an, ob Transaktionen ermöglicht werden.Specifies whether transactions are enabled.
DuplexDuplex Gibt an, ob Duplexverträge unterstützt werden.Specifies whether duplex contracts are supported. Beachten Sie, dass diese Funktion in der Bindung Unterstützung für Sitzungen erfordert.Note that this feature requires support for Sessions in the binding.
CodierungEncoding Gibt das Übertragungsformat der Nachricht an.Specifies the wire format of the message. Zulässige Werte sind:Allowable values include:
– Text: beispielsweise UTF-8.- Text: for example UTF-8.
– Binär- Binary
– MTOM (Message Transmission Optimization Mechanism): Eine Methode zur effizienten Codierung binärer XML-Elemente im Kontext eines SOAP-Umschlags.- Message Transmission Optimization Mechanism (MTOM): A method for efficiently encoding binary XML elements within the context of a SOAP envelope.
StreamingStreaming Gibt an, ob Streaming für eingehende und ausgehende Nachrichten unterstützt wird.Specifies whether streaming is supported for incoming and outgoing messages. Der Wert wird mithilfe der TransferMode-Eigenschaft für die Bindung festgelegt.Use the TransferMode property on the binding to set the value. Zulässige Werte sind:The allowable values include:
- Buffered: Sowohl Anforderungen als auch Antwortnachrichten werden gepuffert.- Buffered: The request and response messages are both buffered.
- Streamed: Sowohl Anforderungen als auch Antwortnachrichten werden per Stream übertragen.- Streamed: The request and response messages are both streamed.
- StreamedRequest: Die Anforderungsnachricht wird als Stream übertragen, und die Antwortnachricht wird gepuffert.- StreamedRequest: The request message is streamed and the response message is buffered.
- StreamedResponse: Die Anforderungsnachricht wird gepuffert, und die Antwortnachricht wird als Stream übertragen.- StreamedResponse: The request message is buffered and the response message is streamed.

Siehe auchSee also

Übersicht über die EndpunkterstellungEndpoint Creation Overview
Verwenden von Bindungen, um Dienste und Clients zu konfigurierenUsing Bindings to Configure Services and Clients
Einfache WCF-ProgrammierungBasic WCF Programming