Übersicht über Windows Communication Foundation-BindungenWindows Communication Foundation Bindings Overview

Bindungen sind Objekte, die die zum Herstellen einer Verbindung zum Endpunkt eines Windows Communication Foundation (WCF)Windows Communication Foundation (WCF)-Dienstes erforderlichen Kommunikationsdetails angeben.Bindings are objects that are used to specify the communication details that are required to connect to the endpoint of a Windows Communication Foundation (WCF)Windows Communication Foundation (WCF) service. Jeder Endpunkt in einem WCFWCF-Dienst erfordert eine korrekt angegebene Bindung.Each endpoint in a WCFWCF service requires a binding to be well-specified. In diesem Thema werden die Typen von Kommunikationsdetails, die die Bindungen definieren, die Elemente einer Bindung, die in WCFWCF enthaltenen Bindungen und Methoden zum Angeben einer Bindung für einen Endpunkt aufgeführt.This topic outlines the types of communication details that the bindings define, the elements of a binding, what bindings are included in WCFWCF, and how a binding can be specified for an endpoint.

Was eine Bindung definiertWhat a Binding Defines

Die Informationen in einer Bindung können sehr einfach oder sehr komplex sein.The information in a binding can be very basic, or very complex. Die einfachste Bindung gibt nur das Transportprotokoll (wie HTTP) an, das für die Verbindung zum Endpunkt verwendet werden muss.The most basic binding specifies only the transport protocol (such as HTTP) that must be used to connect to the endpoint. Allgemeiner gesagt fallen die Informationen in einer Bindung zur Verbindung mit einem Endpunkt in eine der folgenden Kategorien.More generally, the information a binding contains about how to connect to an endpoint falls into one of the following categories.

ProtokolleProtocols
Bestimmt den verwendeten Sicherheitsmechanismus, entweder zuverlässige Messagingfähigkeit oder Transaktionskontextablauf-Einstellungen.Determines the security mechanism being used: either reliable messaging capability or transaction context flow settings.

CodierungEncoding
Bestimmt die Nachrichtencodierung (z. B. Text oder binär).Determines the message encoding (for example, text or binary).

TransportTransport
Bestimmt das zu verwendende zugrunde liegende Transportprotokoll (z. B. TCP oder HTTP).Determines the underlying transport protocol to use (for example, TCP or HTTP).

Die Elemente einer BindungThe Elements of a Binding

Eine Bindung besteht im Allgemeinen aus einem geordneten Stapel von Bindungselementen, die jeweils einen Teil der für die Verbindung zu einem Dienstendpunkt erforderlichen Kommunikationsinformationen angeben.A binding basically consists of an ordered stack of binding elements, each of which specifies part of the communication information required to connect to a service endpoint. Die beiden niedrigsten Ebenen im Stapel sind jeweils erforderlich.The two lowest layers in the stack are both required. An der Basis des Stapels befindet sich das Transportbindungselement und unmittelbar darüber das Element, das die Spezifikationen für die Nachrichtencodierung enthält.At the base of the stack is the transport binding element and just above this is the element that contains the message encoding specifications. Die optionalen Bindungselemente, die die anderen Kommunikationsprotokolle angeben, befinden sich in den Ebenen oberhalb dieser beiden erforderlichen Elemente.The optional binding elements that specify the other communication protocols are layered above these two required elements. Weitere Informationen finden Sie unterFor more information aboutDiese Bindungselemente und die richtige Reihenfolge finden Sie unter benutzerdefinierte Bindungen. these binding elements and their correct ordering, see Custom Bindings.

Vom System bereitgestellte BindungenSystem-Provided Bindings

Die Informationen in einer Bindung können komplex sein, und einige Einstellungen sind möglicherweise mit anderen nicht kompatibel.The information in a binding can be complex, and some settings may not be compatible with others. Aus diesem Grund schließt WCFWCF einen Satz vom System bereitgestellter Bindungen ein.For this reason, WCFWCF includes a set of system-provided bindings. Diese Bindungen sind für die meisten Anwendungsanforderungen vorgesehen.These bindings are designed to cover most application requirements. Die folgenden Klassen stellen einige Beispiele für vom System bereitgestellte Bindungen dar:The following classes represent some examples of system-provided bindings:

  • BasicHttpBinding: Eine für Verbindungen zu Webdiensten geeignete HTTP-Protokollbindung, die der WS-I Basic Profile-Spezifikation entspricht (z. B. auf ASP.NET-Webdiensten basierte Dienste).BasicHttpBinding: An HTTP protocol binding suitable for connecting to Web services that conforms to the WS-I Basic Profile specification (for example, ASP.NET Web services-based services).

  • WSHttpBinding: Eine für Verbindungen zu Endpunkten geeignete interoperable Bindung, die den WS--Protokollen entspricht.WSHttpBinding: An interoperable binding suitable for connecting to endpoints that conform to the WS- protocols.

  • NetNamedPipeBinding: Verwendet .NET Framework.NET Framework zum Herstellen von Verbindungen mit anderen WCFWCF-Endpunkten auf dem gleichen Computer.NetNamedPipeBinding: Uses the .NET Framework.NET Framework to connect to other WCFWCF endpoints on the same machine.

  • NetMsmqBinding: Verwendet .NET Framework.NET Framework zum Herstellen von Verbindungen für Nachrichten in der Warteschlange mit anderen WCFWCF-Endpunkten.NetMsmqBinding: Uses the .NET Framework.NET Framework to create queued message connections with other WCFWCF endpoints.

Eine vollständige Liste mit Beschreibungen aller der WCFWCF-bereitgestellten Bindungen, finden Sie unter sicherheitsbindungsarten Bindungen.For a complete list, with descriptions, of all the WCFWCF-provided bindings, see System-Provided Bindings.

Verwenden der eigenen BindungenUsing Your Own Bindings

Wenn keine der vom System bereitgestellten Bindungen über die richtige Kombination von Funktionen verfügt, die für eine Dienstanwendung erforderlich sind, können Sie eine eigene Bindung erstellen.If none of the system-provided bindings included has the right combination of features that a service application requires, you can create your own binding. Hierfür gibt es zwei Möglichkeiten.There are two ways to do this. Sie können eine neue Bindung entweder mithilfe eines CustomBinding-Objekts aus bereits vorhandenen Bindungselementen erstellen oder durch Ableiten von der Binding-Bindung eine vollständig benutzerdefinierte Bindung erstellen.You can either create a new binding from pre-existing binding elements using a CustomBinding object or you can create a completely user-defined binding by deriving from the Binding binding. Weitere Informationen finden Sie unterFor more information aboutErstellen eine eigene Bindung mithilfe der folgenden beiden Ansätze finden Sie unter benutzerdefinierte Bindungen und Erstellen benutzerdefinierter Bindungen. creating your own binding using these two approaches, see Custom Bindings and Creating User-Defined Bindings.

Verwenden von BindungenUsing Bindings

Das Verwenden von Bindungen umfasst zwei grundlegende Schritte:Using bindings entails two basic steps:

  1. Auswählen oder Definieren einer Bindung.Select or define a binding. Die einfachste Methode ist, eine in WCFWCF enthaltene, vom System bereitgestellte Bindung auszuwählen und sie mit ihren Standardeinstellungen zu verwenden.The easiest method is to choose one of the system-provided bindings included with WCFWCF and use it with its default settings. Sie können auch eine vom System bereitgestellte Bindung auswählen und ihre Eigenschaftswerte zurücksetzen, um sie Ihren Anforderungen anzupassen.You can also choose a system-provided binding and reset its property values to suit your requirements. Alternativ können Sie eine benutzerdefinierte Bindung erstellen, um ein höheres Maß an Steuerung und Anpassung zu erreichen.Alternatively, you can create a custom binding or a user-defined binding to have higher degrees of control and customization.

  2. Erstellen Sie einen Endpunkt, der die ausgewählte oder definierte Bindung verwendet.Create an endpoint that uses the binding selected or defined.

Code und KonfigurationCode and Configuration

Sie können Bindungen mit zwei Methoden definieren: durch Code oder durch Konfiguration.You can define bindings in two ways: through code or through configuration. Diese beiden Ansätze hängen nicht davon ab, ob Sie eine vom System bereitgestellte Bindung oder eine benutzerdefinierte Bindung verwenden.These two approaches do not depend on whether you are using a system-provided binding or a custom binding. Im Allgemeinen gibt Ihnen die Verwendung von Code die vollständige Kontrolle über die Definition einer Bindung zur Entwurfszeit.In general, using code gives you complete control over the definition of a binding at design time. Mit der Konfiguration kann andererseits ein Systemadministrator oder der Benutzer eines WCFWCF-Dienstes oder -Clients die Parameter einer Bindung ändern, ohne die Dienstanwendung neu kompilieren zu müssen.Using configuration, on the other hand, allows a system administrator or the user of a WCFWCF service or client to change the parameters of a binding without having to recompile the service application. Diese Flexibilität ist häufig wünschenswert, da die spezifischen Computeranforderungen, für die eine WCFWCF-Anwendung bereitgestellt werden soll, nicht vorhersehbar sind.This flexibility is often desirable because there is no way to predict specific machine requirements on which a WCFWCF application is to be deployed. Das Ausschließen der Bindungsinformationen (und der Adressierungsinformationen) aus dem Code ermöglicht deren Änderung, ohne die Anwendung neu kompilieren oder erneut bereitstellen zu müssen.Keeping the binding (and the addressing) information out of the code allows them to change without requiring recompilation or redeployment of the application. Beachten Sie, dass im Code definierte Bindungen nach in der Konfiguration angegebenen Bindungen erstellt werden, sodass die durch den Code definierten Bindungen alle durch die Konfiguration definierten Bindungen überschreiben können.Note that bindings defined in code are created after bindings specified in configuration, allowing the code-defined bindings to overwrite any configuration-defined bindings.

Siehe auchSee Also

Verwenden von Bindungen, um Dienste und Clients zu konfigurierenUsing Bindings to Configure Services and Clients