Endpunkte: Adressen, Bindungen und VerträgeEndpoints: Addresses, Bindings, and Contracts

Die gesamte Kommunikation mit einem Windows Communication Foundation (WCF)-Dienst erfolgt über die Endpunkte des Diensts.All communication with a Windows Communication Foundation (WCF) service occurs through the endpoints of the service. Endpunkte ermöglichen Clients den Zugriff auf die Funktionalität, die von einem WCF-Dienst angeboten wird.Endpoints provide clients access to the functionality offered by a WCF service.

Jeder Endpunkt verfügt über vier Eigenschaften:Each endpoint consists of four properties:

  • Eine Adresse, die angibt, wo der Endpunkt zu finden ist.An address that indicates where the endpoint can be found.

  • Eine Bindung, die angibt, wie ein Client mit dem Endpunkt kommunizieren kann.A binding that specifies how a client can communicate with the endpoint.

  • Ein Vertrag, der die verfügbaren Vorgänge identifiziert.A contract that identifies the operations available.

  • Eine Gruppe von Verhaltensweisen, die lokale Implementierungsdetails des Endpunkts angeben.A set of behaviors that specify local implementation details of the endpoint.

In diesem Thema wird diese endpunktstruktur erläutert, und es wird erläutert, wie er im WCF-Objektmodell dargestellt wird.This topic discusses this endpoint structure and explains how it is represented in the WCF object model.

Die Struktur eines EndpunktsThe Structure of an Endpoint

Jeder Endpunkt besteht aus Folgendem:Each endpoint consists of the following:

  • Adresse: Die Adresse gewährleistet eine eindeutige Identifizierung des Endpunkts und teilt potenziellen Consumern des Diensts den Standort des Diensts mit.Address: The address uniquely identifies the endpoint and tells potential consumers of the service where it is located. Es wird dargestellt, in dem WCF-Objektmodell durch die EndpointAddress Klasse.It is represented in the WCF object model by the EndpointAddress class. Eine EndpointAddress-Klasse enthält:An EndpointAddress class contains:

    • Eine Uri-Eigenschaft, die die Adresse des Diensts darstellt.A Uri property, which represents the address of the service.

    • Eine Identity-Eigenschaft, die die Sicherheits-ID des Diensts und eine Auflistung optionaler Nachrichtenheader darstellt.An Identity property, which represents the security identity of the service and a collection of optional message headers. Die optionalen Nachrichtenheader werden verwendet, um zusätzliche und ausführlichere Adressinformationen bereitzustellen, um den Endpunkt zu identifizieren oder damit zu interagieren.The optional message headers are used to provide additional and more detailed addressing information to identify or interact with the endpoint.

    Weitere Informationen finden Sie unter angeben einer Endpunktadresse.For more information, see Specifying an Endpoint Address.

  • Bindung: Die Bindung gibt an, wie eine Kommunikation mit dem Endpunkt stattfindet.Binding: The binding specifies how to communicate with the endpoint. Dies umfasst Folgendes:This includes:

    • Das Transportprotokoll, das verwendet werden soll (z. B. TCP oder HTTP).The transport protocol to use (for example, TCP or HTTP).

    • Die Codierung, die für die Nachrichten verwendet werden soll (z. B. Text oder binär).The encoding to use for the messages (for example, text or binary).

    • Die erforderlichen Sicherheitsanforderungen (z. B. SSL- oder SOAP-Nachrichtensicherheit).The necessary security requirements (for example, SSL or SOAP message security).

    Weitere Informationen finden Sie unter WCF-Bindungsübersicht.For more information, see WCF Bindings Overview. Eine Bindung wird in der WCF-Objektmodell dargestellt, durch die abstrakte Basisklasse Binding.A binding is represented in the WCF object model by the abstract base class Binding. Für die meisten Szenarien können Benutzer eine der vom System bereitgestellten Bindungen verwenden.For most scenarios, users can use one of the system-provided bindings. Weitere Informationen finden Sie unter sicherheitsbindungsarten Bindungen.For more information, see System-Provided Bindings.

  • Verträge: Der Dienstvertrag zeigt, welche Funktionen der Endpunkt dem Client zur Verfügung stellt.Contracts: The contract outlines what functionality the endpoint exposes to the client. Ein Vertrag gibt Folgendes an:A contract specifies:

    • Welche Vorgänge von einem Client aufgerufen werden können.What operations can be called by a client.

    • Die Form der Nachricht.The form of the message.

    • Der Typ der Eingabeparameter oder Daten, die zum Aufrufen des Vorgangs erforderlich sind.The type of input parameters or data required to call the operation.

    • Den Typ der Verarbeitung oder der Antwortnachricht, den der Client erwarten kann.What type of processing or response message the client can expect.

    Weitere Informationen zum Definieren eines Vertrags finden Sie unter Entwerfen von Dienstverträgen.For more information about defining a contract, see Designing Service Contracts.

  • Verhaltensweisen: Sie können das lokale Verhalten des Dienstendpunkts mithilfe von Endpunktverhaltensweisen anpassen.Behaviors: You can use endpoint behaviors to customize the local behavior of the service endpoint. Endpunktverhaltensweisen erreichen dies, indem Sie im Prozess der Erstellung einer WCFruntime an.Endpoint behaviors achieve this by participating in the process of building a WCFruntime. 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.An example of an endpoint behavior is the ListenUri property, which allows you to specify a different listening address than the SOAP or Web Services Description Language (WSDL) address. Weitere Informationen finden Sie unter ClientViaBehavior.For more information, see ClientViaBehavior.

Definieren von EndpunktenDefining Endpoints

Sie können den Endpunkt für einen Dienst entweder verbindlich durch Verwenden von Code oder deklarativ durch Konfiguration angeben.You can specify the endpoint for a service either imperatively using code or declaratively through configuration. Weitere Informationen finden Sie unter Vorgehensweise: Erstellen eines Dienstendpunkts in der Konfiguration und Vorgehensweise: Erstellen eines Dienstendpunkts im Code.For more information, see How to: Create a Service Endpoint in Configuration and How to: Create a Service Endpoint in Code.

In diesem AbschnittIn This Section

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.This section explains the purpose of bindings, endpoints, and addresses; shows how to configure a binding and an endpoint; and demonstrates how to use the ClientVia behavior and ListenUri property.

AdressenAddresses
Beschreibt, wie Endpunkte in WCF behoben werden.Describes how endpoints are addressed in WCF.

BindungenBindings
Beschreibt, wie mit Bindungen Transport, Codierung und Protokolldetails angegeben werden, die für die Kommunikation zwischen Clients und Diensten erforderlich sind.Describes how bindings are used to specify the transport, encoding, and protocol details required for clients and services to communicate with each other.

VerträgeContracts
Beschreibt, wie Verträge die Methoden eines Diensts definieren.Describes how contracts define the methods of a service.

Vorgehensweise: Erstellen eines Dienstendpunkts in einer KonfigurationHow to: Create a Service Endpoint in Configuration
Beschreibt, wie Sie einen Dienstendpunkt in einer Konfiguration erstellen.Describes how to create a service endpoint in configuration.

Vorgehensweise: Erstellen eines Dienstendpunkts im CodeHow to: Create a Service Endpoint in Code
Beschreibt, wie Sie einen Dienstendpunkt im Code erstellen.Describes how to create a service endpoint in code.

Vorgehensweise: Verwenden von „Svcutil.exe“ zum Überprüfen von kompiliertem DienstcodeHow to: Use Svcutil.exe to Validate Compiled Service Code
Beschreibt, wie zum Erkennen von Fehlern in dienstimplementierungen und Konfigurationen, ohne zu hosten, den Dienst mithilfe der ServiceModel Metadata Utility Tool (Svcutil.exe).Describes how to detect errors in service implementations and configurations without hosting the service using the ServiceModel Metadata Utility Tool (Svcutil.exe).

Siehe auchSee Also

Konfigurieren von DienstenConfiguring Services
Erweitern von BindungenExtending Bindings