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

Bindungen sind Objekte, die die zum Herstellen einer Verbindung zu einem Endpunkt erforderlichen Kommunikationsdetails angeben.Bindings are objects that specify the communication details required to connect to an endpoint. Genauer gesagt enthalten Bindungen Konfigurationsinformationen, die zum Erstellen der Client- oder Dienstlaufzeit durch Festlegen der Merkmale von Transporten, Übertragungsformaten (Nachrichtencodierung) und Protokollen für den entsprechenden Endpunkt oder Clientkanal verwendet werden.More specifically, bindings contain configuration information that is used to create the client or service runtime by defining the specifics of transports, wire-formats (message encoding), and protocols to use for the respective endpoint or client channel. Um eine funktionierende Windows Communication Foundation (WCF)-Dienst zu erstellen, erfordert jeder Endpunkt im Dienst eine Bindung an.To create a functioning Windows Communication Foundation (WCF) service, each endpoint in the service requires a binding. In diesem Thema wird erläutert, was Bindungen sind, wie sie definiert werden und wie eine bestimmte Bindung für einen Endpunkt angegeben wird.This topic explains what bindings are, how they are defined, and how a particular binding is 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 Kategorien in der folgenden Tabelle.More generally, the information a binding contains about how to connect to an endpoint falls into one of the categories in the following table.

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.

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

CodierungEncoding
Bestimmt die Nachrichtencodierung, z. B. Text/XML, binär oder MTOM (Message Transmission Optimization Mechanism), die festlegt, wie Nachrichten bei Übertragungen als Bytestreams dargestellt werden.Determines the message encoding, for example, text/XML, binary, or Message Transmission Optimization Mechanism (MTOM), which determines how messages are represented as byte streams on the wire.

Vom System bereitgestellte BindungenSystem-Provided Bindings

WCF bietet einen Satz vom System bereitgestellten Bindungen, die meisten anwendungsanforderungen und Szenarien abdecken sollen.WCF includes a set of system-provided bindings that are designed to cover most application requirements and scenarios. 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 1.1-Spezifikation entspricht (z. B. ASP.NET-Webdienste [ASMX]-basierte Dienste).BasicHttpBinding: An HTTP protocol binding suitable for connecting to Web services that conforms to the WS-I Basic Profile 1.1 specification (for example, ASP.NET Web services [ASMX]-based services).

  • WSHttpBinding: Eine für Verbindungen zu Endpunkten geeignete HTTP-Protokollbindung, die den Webdienstespezifikations-Protokollen entspricht.WSHttpBinding: An HTTP protocol binding suitable for connecting to endpoints that conform to the Web services specifications protocols.

  • NetNamedPipeBinding: Verwendet die binäre Codierung in .NET und rahmentechnologien zusammen mit dem Transport mittels benannter Pipes Windows zur Verbindung mit anderen WCF-Endpunkten auf demselben Computer aus.NetNamedPipeBinding: Uses the .NET binary encoding and framing technologies in conjunction with the Windows named pipe transport to connect to other WCF endpoints on the same machine.

  • NetMsmqBinding: Verwendet die binäre .NET-Codierung und rahmentechnologien zusammen mit Message Queuing (auch bekannt als MSMQ) zum Erstellen von Nachrichten in der Warteschlange Verbindungen mit anderen WCF-Endpunkten.NetMsmqBinding: Uses the .NET binary encoding and framing technologies in conjunction with the Message Queuing (also known as MSMQ) to create queued message connections with other WCF endpoints.

Eine vollständige Liste der vom System bereitgestellte Bindungen mit Beschreibungen finden Sie unter sicherheitsbindungsarten Bindungen.For a complete list of system-provided bindings, with descriptions, see System-Provided Bindings.

Benutzerdefinierte BindungenCustom Bindings

Wenn die Auflistung vom System bereitgestellter Bindungen nicht die richtige Kombination von Funktionen aufweist, die für eine Dienstanwendung erforderlich ist, können Sie eine CustomBinding-Bindung erstellen.If the system-provided binding collection does not have the correct combination of features that a service application requires, you can create a CustomBinding binding. Weitere Informationen zu den Elementen von einem CustomBinding binden, finden Sie unter <CustomBinding > und benutzerdefinierte Bindungen.For more information about the elements of a CustomBinding binding, see <customBinding> and Custom 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 vom System bereitgestellte Bindung auszuwählen und ihre Standardeinstellungen zu verwenden.The easiest method is to choose one of the system-provided bindings and use 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 und jede Eigenschaft nach Bedarf festlegen.Alternatively, you can create a custom binding and set every property as required.

  2. Erstellen eines Endpunkts, der diese Bindung verwendet.Create an endpoint that uses this binding.

Code und KonfigurationCode and Configuration

Sie können Bindungen durch Code bzw. Konfiguration definieren oder konfigurieren.You can define or configure bindings through code or configuration. Diese beiden Ansätze sind unabhängig vom verwendeten Bindungstyp, z. B. ob Sie eine vom System bereitgestellte Bindung oder eine CustomBinding-Bindung verwenden.These two approaches are independent of the type of binding used, for example, whether you are using a system-provided or a CustomBinding binding. Im Allgemeinen gibt Ihnen die Verwendung von Code die vollständige Kontrolle über die Definition einer Bindung beim Kompilieren.In general, using code gives you complete control over the definition of a binding when you compile. Konfiguration kann andererseits, ein Systemadministrator oder der Benutzer eines WCF-Diensts oder Clients die Parameter von Bindungen ändern.Using configuration, on the other hand, allows a system administrator or the user of a WCF service or client to change the parameters of bindings. Diese Flexibilität ist häufig wünschenswert, da es gibt keine Möglichkeit, vorherzusagen, die spezifischen computeranforderungen und netzwerkbedingungen, in die ist eine WCF-Anwendung bereitgestellt werden.This flexibility is often desirable because there is no way to predict the specific machine requirements and network conditions into which a WCF application is to be deployed. Durch die Trennung der Bindungsinformationen (und Addressierungsinformationen) vom Code können Administratoren die Bindungsdetails ändern, ohne dass die Anwendung neu kompiliert oder bereitgestellt werden muss.Separating the binding (and addressing) information from the code allows administrators to change the binding details without having to recompile or redeploy the application. Falls die Bindung im Code definiert ist, überschreibt sie alle in der Konfigurationsdatei vorgenommenen konfigurationsbasierten Definitionen.Note that if the binding is defined in code, it overwrites any configuration-based definitions made in the configuration file. Beispiele für diese Ansätze finden Sie in den folgenden Themen:For examples of these approaches, see the following topics:

Siehe auchSee Also

Übersicht über die EndpunkterstellungEndpoint Creation Overview
Vorgehensweise: Angeben einer Dienstbindung in einer KonfigurationHow to: Specify a Service Binding in Configuration
Vorgehensweise: Angeben einer Dienstbindung im CodeHow to: Specify a Service Binding in Code
Vorgehensweise: Angeben einer Clientbindung in einer KonfigurationHow to: Specify a Client Binding in Configuration
Vorgehensweise: Angeben einer Clientbindung im CodeHow to: Specify a Client Binding in Code