Vom System bereitgestellte Bindungen

Bindungen geben den Kommunikationsmechanismus für die Kommunikation mit einem Endpunkt und die zum Herstellen einer Verbindung mit einem Endpunkt erforderlichen Kommunikationsdetails an. Eine Bindung enthält die folgenden Elemente:

  • Der Protokollstapel legt die Einstellungen bezüglich Sicherheit, Zuverlässigkeit und Kontextablauf fest, die beim Senden von Nachrichten zum Endpunkt verwendet werden.
  • Die Transportebene bestimmt das zugrunde liegende Transportprotokoll, das zum Senden von Nachrichten zum Endpunkt verwendet werden soll, beispielsweise TCP oder HTTP.
  • Die Codierung bestimmt die Nachrichtencodierung, 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.

Dieses Thema präsentiert alle vom System bereitgestellten Windows Communication Foundation (WCF)-Bindungen. Wenn keine dieser Bindungen die Kriterien der Anwendung erfüllt, können Sie eine benutzerdefinierte Bindung erstellen. Weitere Informationen zum Erstellen benutzerdefinierter Bindungen finden Sie unter Benutzerdefinierte Bindungen.

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.

Tipp

Wählen Sie immer eine Bindung aus, die Sicherheitsfunktionen einschließt. Standardmäßig weisen alle Bindungen mit Ausnahme des <basicHttpBinding>-Elements aktivierte Sicherheitsfeatures auf. Wenn Sie keine sichere Bindung auswählen oder Sicherheitsfeatures deaktivieren, müssen Sie die Daten auf eine andere Weise schützen, z. B. durch ein geschütztes Datencenter oder ein isoliertes Netzwerk.

Tipp

Verwenden Sie nur dann Duplexverträge mit Bindungen, die keine Sicherheitsfeatures unterstützen oder bei denen die Sicherheitsfeatures deaktiviert sind, wenn Sie die Daten auf andere Weise schützen.

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.

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, die es einem Verbund angehörenden Organisationen ermöglicht, Benutzer effizient zu authentifizieren und zu autorisieren.

NetTcpBinding

<netTcpBinding>

Eine sichere und optimierte Bindung an, 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 für eine computerübergreifende Kommunikation zwischen WCF-Anwendungen geeignet ist.

NetPeerTcpBinding

<netPeerTcpBinding>

Eine Bindung, die eine sichere Kommunikation zwischen mehreren Computern ermöglicht.

MsmqIntegrationBinding

<msmqIntegrationBinding>

Eine Bindung, die für eine computerübergreifende Kommunikation zwischen einer WCF-Anwendung und vorhandenen Message Queuing-Anwendungen geeignet ist.

BasicHttpContextBinding

<basicHttpContextBinding>

Eine Bindung, die sich für die Kommunikation mit Webdiensten eignet, die dem WS-Basic Profile entsprechen, und so die Verwendung von HTTP-Cookies zum Austauschen von Kontext ermöglicht.

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.

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.

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.

In der folgenden Tabelle sind die Features der einzelnen vom System bereitgestellten Bindungen dargestellt. Die Bindungen sind in den Tabellenspalten angegeben. Die Features werden in den Zeilen aufgelistet und in der zweiten 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 Features enthält, die Sie benötigen.

Bindung Interoperabilität Sicherheit (Standard) Sitzung (Standard) Transaktionen Duplex Codierung (Standard) Streaming (Standard)

BasicHttpBinding

Basic Profile 1.1

(Keine), Transport, Nachricht, Gemischt

(Keine)

(Keine)

nicht verfügbar

Text, (MTOM)

Ja

(gepuffert)

WSHttpBinding

WS

Transport, (Nachricht), Gemischt

(Keine), zuverlässige Sitzung, Sicherheitssitzung

(Keine), Ja

nicht verfügbar

(Text), MTOM

Nein

WSDualHttpBinding

WS

(Nachricht), Keine

(Zuverlässige Sitzung), Sicherheitssitzung

(Keine), Ja

Ja

(Text), MTOM

Nein

WSFederationHttpBinding

WS-Federation

(Nachricht), Gemischt, Keine

(Keine), zuverlässige Sitzung, Sicherheitssitzung

(Keine), Ja

Nein

(Text), MTOM

Nein

NetTcpBinding

.NET

(Transport), Nachricht, Keine, Gemischt

(Transport), zuverlässige Sitzung, Sicherheitssitzung

(Keine), Ja

Ja

Binär

Ja

(gepuffert)

NetNamedPipeBinding

.NET

(Transport), Keine

Keine, (Transport)

(Keine), Ja

Ja

Binär

Ja

(gepuffert)

NetMsmqBinding

.NET

Nachricht, (Transport), Keine

Keine, (Transport)

Keine, (Ja)

Nein

Binär

Nein

NetPeerTcpBinding

Peer

(Transport)

(Keine)

(Keine)

Ja

Nein

MsmqIntegrationBinding

MSMQ

(Transport)

(Keine)

Keine, (Ja)

nicht verfügbar

nicht verfügbar

Nein

BasicHttpContextBinding

Basic Profile 1.1

(Keine), Transport, Nachricht, Gemischt

(Keine)

(Keine)

nicht verfügbar

Text, (MTOM)

Ja

(gepuffert)

NetTcpContextBinding

.NET

(Transport), Nachricht, Keine, Gemischt

(Transport), zuverlässige Sitzung, Sicherheitssitzung

(Keine), Ja

Ja

Binär

Ja

(gepuffert)

WSHttpContextBinding

WS

Transport, (Nachricht), Gemischt

(Keine), zuverlässige Sitzung, Sicherheitssitzung

(Keine), Ja

nicht verfügbar

Text, (MTOM)

Nein

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

Feature 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.

  • Keine: 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.
  • Gemischt: Ansprüche werden in der Nachricht übermittelt, Anforderungen an Integrität und Vertraulichkeit werden auf der Transportebene erfüllt.

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 dieses Feature in der Bindung Unterstützung für Sitzungen erfordert.

Codierung

Gibt das Übertragungsformat der Nachricht an. Zulässige Werte sind:

  • Text: beispielsweise UTF-8.
  • Binär
  • MTOM (Message-Transmission Optimization Mechanism): Eine Methode für die effiziente Codierung binärer XML-Elemente im Kontext eines SOAP-Umschlags.

Streaming

Gibt an, ob Streaming für eingehende und ausgehende Nachrichten unterstützt wird. Der Wert wird mithilfe der TransferMode-Eigenschaft für die Bindung festgelegt. Zulässige Werte sind:

  • Buffered: Sowohl Anforderungen als auch Antwortnachrichten werden gepuffert.
  • Streamed: Sowohl Anforderungen als auch Antwortnachrichten werden per Stream übertragen. 
  • StreamedRequest: Die Anforderungsnachricht wird als Stream übertragen, und die Antwortnachricht wird gepuffert. 
  • StreamedResponse: Die Anforderungsnachricht wird gepuffert, und die Antwortnachricht wird als Stream übertragen.

Siehe auch

Konzepte

Übersicht über die Endpunkterstellung
Verwenden von Bindungen, um Dienste und Clients zu konfigurieren

Weitere Ressourcen

Basis-WCF-Programmierung