Konfigurieren der vom System bereitgestellten Bindungen

Bindungen geben den Kommunikationsmechanismus für die Kommunikation mit einem Endpunkt und die zum Herstellen einer Verbindung mit einem Endpunkt erforderlichen Kommunikationsdetails an. Bindungen bestehen aus Elementen, die definieren, wie die WCF-Kanäle (Windows Communication Foundation) im Protokollstapel zugeordnet werden, um die erforderlichen Kommunikationsfunktionen bereitzustellen. Eine Bindung enthält drei Arten von Elementen:

  • Bindungselemente für den Protokollkanal, die die Einstellungen bezüglich Sicherheit, Zuverlässigkeit und Kontextablauf oder benutzerdefinierte Protokolle festlegen, die beim Senden von Nachrichten zum Endpunkt verwendet werden sollen.

  • Bindungselemente für den Transportkanal, die das zugrunde liegende Transportprotokoll festlegen, das zum Senden von Nachrichten zum Endpunkt verwendet werden soll, beispielsweise TCP oder HTTP.

  • Bindungselemente für die Nachrichtencodierung, die die Codierung festlegen, z. B. Text/XML, binär oder MTOM (Message Transmission Optimization Mechanism), die für Nachrichten, die an den Endpunkt gesendet werden, verwendet werden soll.

In diesem Thema sind alle vom System bereitgestellten WCF-Bindungen (Windows Communication Foundation) aufgeführt. Wenn keine dieser Bindungen die Anforderungen der Anwendung erfüllt, können Sie mithilfe der CustomBinding-Klasse eine Bindung erstellen. Weitere Informationen zum Erstellen benutzerdefinierter Bindungen finden Sie unter Benutzerdefinierte Bindungen.

Wichtig

Wählen Sie eine Bindung aus, bei der die Sicherheitsfunktionen aktiviert sind. Standardmäßig weisen alle Bindungen, mit Ausnahme der BasicHttpBinding-Bindung, aktivierte Sicherheitsfunktionen auf. Wenn Sie keine sichere Bindung auswählen oder Sicherheitsfunktionen deaktivieren, müssen Sie den Datenaustausch im Netzwerk auf eine andere Weise schützen, z. B. durch ein geschütztes Datencenter oder ein isoliertes Netzwerk.

Wichtig

Verwenden Sie nur dann Duplexverträge mit Bindungen, die keine Sicherheitsfunktionen unterstützen oder bei denen die Sicherheitsfunktionen deaktiviert sind, wenn der Datenaustausch im Netzwerk auf andere Weise geschützt wird.

Vom System bereitgestellte Bindungen

Die folgenden Bindungen sind im Lieferumfang von WCF enthalten.

Bindung Konfigurationselement BESCHREIBUNG
BasicHttpBinding <basicHttpBinding> Eine Bindung, die sich für die Kommunikation mit Webdiensten eignet, die dem WS-Basic Profile entsprechen, beispielsweise auf ASP.NET-Webdiensten (ASMX) basierende Dienste. Diese Bindung verwendet HTTP als Transport und Text/XML als Standardnachrichtencodierung.
WSHttpBinding <wsHttpBinding> Eine sichere und vollständig kompatible Bindung, die sich für Nicht-Duplexdienstverträge eignet.
WS2007HttpBinding <ws2007HttpBinding> Eine sichere und vollständig kompatible Bindung, die Unterstützung für die entsprechenden Versionen der Bindungselemente Security, ReliableSession und TransactionFlow bereitstellt.
WSDualHttpBinding <wsDualHttpBinding> Eine sichere und vollständig kompatible Bindung, die für Duplexdienstverträge oder für die Kommunikation über SOAP-Vermittler geeignet ist.
WSFederationHttpBinding <wsFederationHttpBinding> Eine sichere und vollständig kompatible Bindung, die das WS-Federationprotokoll unterstützt, und es damit einem Verbund angehörenden Organisationen ermöglicht, Benutzer effizient zu authentifizieren und zu autorisieren.
WS2007FederationHttpBinding <ws2007FederationHttpBinding> Eine sichere und vollständig kompatible Bindung, die von WS2007HttpBinding abgeleitet ist und Verbundsicherheit unterstützt.
NetTcpBinding <netTcpBinding> Eine sichere und optimierte Bindung, die sich für die computerübergreifende Kommunikation zwischen WCF-Anwendungen eignet.
NetNamedPipeBinding <netNamedPipeBinding> Eine sichere, zuverlässige und optimierte Bindung, die sich für die Kommunikation zwischen WCF-Anwendungen auf einem Computer eignet.
NetMsmqBinding <netMsmqBinding> Eine der Warteschlange hinzugefügte Bindung, die sich für eine computerübergreifende Kommunikation zwischen WCF-Anwendungen eignet.
NetPeerTcpBinding <netPeerTcpBinding> Eine Bindung, die eine sichere Kommunikation zwischen mehreren Computern ermöglicht.
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.
MsmqIntegrationBinding <msmqIntegrationBinding> Eine Bindung, die für eine computerübergreifende Kommunikation zwischen einer WCF-Anwendung und vorhandenen Message Queuing-Anwendungen (auch MSMQ-Anwendungen genannt) geeignet ist.

Binden von Funktionen

In der nächsten Tabelle sind einige der wichtigsten Funktionen der einzelnen vom System bereitgestellten Bindungen dargestellt. Die Bindungen sind in der ersten Tabellenspalte angegeben, und die Informationen zu den Funktionen werden in der Tabelle beschrieben. In der folgenden Tabelle werden die im Zusammenhang mit Bindungen verwendeten Abkürzungen erklärt. Zur Auswahl einer Bindung ermitteln Sie, welche Spalte in den Zeilen alle Funktionen enthält, die Sie benötigen.

Bindung Interoperabilität Sicherheitsmodus (Standard) Sitzung

(Standardwert)
Transaktionen Duplex
BasicHttpBinding Basic Profile 1.1 (Keine), Transport, Nachricht, Gemischt Keine (Keine) (Keine)
WSHttpBinding WS (Keine), Transport, (Nachricht), Gemischt (Keine), Transport, zuverlässige Sitzung (Keine), Ja
WS2007HttpBinding WS-Security, WS-Trust, WS-SecureConversation, WS-SecurityPolicy (Keine), Transport, (Nachricht), Gemischt (Keine), Transport, zuverlässige Sitzung (Keine), Ja
WSDualHttpBinding WS Keine, (Nachricht) (Zuverlässige Sitzung) (Keine), Ja Ja
WSFederationHttpBinding WS-Federation Keine, (Nachricht), Gemischt (Keine), zuverlässige Sitzung (Keine), Ja Nein
WS2007FederationHttpBinding WS-Federation Keine, (Nachricht), Gemischt (Keine), zuverlässige Sitzung (Keine), Ja Nein
NetTcpBinding .NET Keine, (Transport), Nachricht

Mixed
Zuverlässige Sitzung, (Transport) (Keine), Ja Ja
NetNamedPipeBinding .NET Keine

(Transport)
Keine, (Transport) (Keine), Ja Ja
NetMsmqBinding .NET Keine, Nachricht, (Transport), Beide (Keine) (Keine), Ja Nein
NetPeerTcpBinding Peer Keine, Nachricht, (Transport), Gemischt (Keine) (Keine) Ja
WebHttpBinding .Net None, Transport, TransportCredentialOnly (Keine) (Keine)
MsmqIntegrationBinding MSMQ Keine, (Transport) (Keine) (Keine), Ja

Die in der vorstehenden Tabelle aufgeführten Funktionen werden in der folgenden Tabelle erläutert.

Funktion BESCHREIBUNG
Interoperabilitätstyp Benennt das Protokoll oder die Technologie, mit dem bzw. der in der Bindung die Zusammenarbeit sichergestellt wird.
Sicherheit Gibt an, wie der Kanal geschützt wird.

- None: Die SOAP-Nachricht wird nicht geschützt, und der Client wird nicht authentifiziert.
– Transport: Die Sicherheitsanforderungen werden auf der Transportebene erfüllt.
– Nachricht: Die Sicherheitsanforderungen werden auf der Nachrichtenebene erfüllt.
- Mixed: Dieser Sicherheitsmodus wird als TransportWithMessageCredentials bezeichnet. Die Anmeldeinformationen werden auf der Nachrichtenebene übermittelt, und die Anforderungen an Integrität und Vertraulichkeit werden auf der Transportebene erfüllt.
- Beide: Es werden Sicherheitsfunktionen sowohl auf der Nachrichtenebene als auch auf der Transportebene verwendet. Über diese Fähigkeit verfügt nur die NetMsmqBinding-Bindung.
Sitzung Gibt an, ob die betreffende Bindung Sitzungsverträge unterstützt.
Transaktionen Gibt an, ob Transaktionen ermöglicht werden.
Duplex Gibt an, ob Duplexverträge unterstützt werden. Beachten Sie, dass diese Funktion Bindungsunterstützung für Sitzungen erfordert.
Streaming Gibt an, ob das Nachrichtenstreaming unterstützt wird.

Weitere Informationen