Endpunkte: Adressen, Bindungen und Verträge
Die gesamte Kommunikation mit einem Windows Communication Foundation (WCF)-Dienst verläuft über die Endpunkte des Diensts. Endpunkte ermöglichen Clients den Zugriff auf die Funktionalität, die ein WCF-Dienst anbietet.
Jeder Endpunkt verfügt über vier Eigenschaften:
Eine Adresse, die angibt, wo der Endpunkt zu finden ist.
Eine Bindung, die angibt, wie ein Client mit dem Endpunkt kommunizieren kann.
Ein Vertrag, der die verfügbaren Vorgänge identifiziert.
Eine Gruppe von Verhaltensweisen, die lokale Implementierungsdetails des Endpunkts angeben.
In diesem Thema wird diese Endpunktstruktur erläutert, und es wird erklärt, wie sie im WCF-Objektmodell dargestellt wird.
Die Struktur eines Endpunkts
Jeder Endpunkt besteht aus Folgendem:
Adresse: Die Adresse gewährleistet eine eindeutige Identifizierung des Endpunkts und teilt potenziellen Consumern des Diensts den Standort des Diensts mit. Sie wird im WCF-Objektmodell durch die EndpointAddress-Klasse dargestellt. Eine EndpointAddress-Klasse enthält:
Eine Uri-Eigenschaft, die die Adresse des Diensts darstellt.
Eine Identity-Eigenschaft, die die Sicherheits-ID des Diensts und eine Auflistung optionaler Nachrichtenheader darstellt. Die optionalen Nachrichtenheader werden verwendet, um zusätzliche und ausführlichere Adressinformationen bereitzustellen, um den Endpunkt zu identifizieren oder damit zu interagieren.
Weitere Informationen finden Sie unter Angeben einer Endpunktadresse.
Bindung: Die Bindung gibt an, wie eine Kommunikation mit dem Endpunkt stattfindet. Dies umfasst Folgendes:
Das Transportprotokoll, das verwendet werden soll (z. B. TCP oder HTTP).
Die Codierung, die für die Nachrichten verwendet werden soll (z. B. Text oder binär).
Die erforderlichen Sicherheitsanforderungen (z. B. SSL- oder SOAP-Nachrichtensicherheit).
Weitere Informationen finden Sie unter Übersicht über Windows Communication Foundation-Bindungen. Eine Bindung wird im WCF-Objektmodell durch die abstrakte Basisklasse Binding dargestellt. Für die meisten Szenarien können Benutzer eine der vom System bereitgestellten Bindungen verwenden. Weitere Informationen finden Sie unter Vom System bereitgestellte Bindungen.
Verträge: Der Dienstvertrag zeigt, welche Funktionen der Endpunkt dem Client zur Verfügung stellt. Ein Vertrag gibt Folgendes an:
Welche Vorgänge von einem Client aufgerufen werden können.
Die Form der Nachricht.
Der Typ der Eingabeparameter oder Daten, die zum Aufrufen des Vorgangs erforderlich sind.
Den Typ der Verarbeitung oder der Antwortnachricht, den der Client erwarten kann.
Weitere Informationen zum Definieren eines Vertrags finden Sie unter Entwerfen von Dienstverträgen.)
Verhaltensweisen: Sie können das lokale Verhalten des Dienstendpunkts mithilfe von Endpunktverhaltensweisen anpassen. Endpunktverhaltensweisen erreichen dies, indem sie an der Erstellung einer WCF-Laufzeit teilnehmen. Ein Beispiel für ein Endpunktverhalten ist die ListenUri-Eigenschaft, mit der Sie eine andere Listeningadresse als die SOAP- oder die WSDL-Adresse (WSDL = Web Services Description Language) angeben können. Weitere Informationen finden Sie unter ClientViaBehavior.
Definieren von Endpunkten
Sie können den Endpunkt für einen Dienst entweder verbindlich durch Verwenden von Code oder deklarativ durch Konfiguration angeben. Weitere Informationen finden Sie unter Gewusst wie: Erstellen eines Dienstendpunkts in einer Konfiguration und Gewusst wie: Erstellen eines Dienstendpunkts im Code.
In diesem Abschnitt
In diesem Abschnitt wird der Zweck von Bindungen, Endpunkten und Adressen erläutert. Darüber hinaus wird gezeigt, wie Sie eine Bindung und einen Endpunkt konfigurieren und wie Sie das ClientVia-Verhalten und die ListenUri-Eigenschaft verwenden.
- Endpunktadressen
Beschreibt, wie Endpunkte in WCF behandelt werden.
- Windows Communication Foundation-Bindungen
Beschreibt, wie mit Bindungen Transport, Codierung und Protokolldetails angegeben werden, die für die Kommunikation zwischen Clients und Diensten erforderlich sind.
- Verträge
Beschreibt, wie Verträge die Methoden eines Diensts definieren.
- Gewusst wie: Erstellen eines Dienstendpunkts in einer Konfiguration
Beschreibt, wie Sie einen Dienstendpunkt in einer Konfiguration erstellen.
- Gewusst wie: Erstellen eines Dienstendpunkts im Code
Beschreibt, wie Sie einen Dienstendpunkt im Code erstellen.
- Vorgehensweise: Verwenden von "Svcutil.exe" zum Überprüfen von kompiliertem Dienstcode
Beschreibt, wie Sie mit dem ServiceModel Metadata Utility-Tool (Svcutil.exe) Fehler in Dienstimplementierungen und Konfigurationen erkennen, ohne den Dienst zu hosten.