(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

Binding-Klasse

Enthält die Bindungselemente, die die Protokolle, Transporte und Nachrichtenencoder enthalten, die für die Kommunikation zwischen Clients und Diensten verwendet werden.

System.Object
  System.ServiceModel.Channels.Binding
    Weitere Informationen...

Namespace:  System.ServiceModel.Channels
Assembly:  System.ServiceModel (in System.ServiceModel.dll)

public abstract class Binding : IDefaultCommunicationTimeouts

Der Binding-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Geschützte MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsBinding()Initialisiert eine neue Instanz der Binding-Klasse mit einem Standardnamen und -Namespace.
Geschützte MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsBinding(String, String)Initialisiert eine neue Instanz der Binding-Klasse aus einer festgelegten Bindung des Diensts.
Zum Seitenanfang

  NameBeschreibung
Öffentliche EigenschaftUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsCloseTimeoutRuft das Zeitintervall ab, das für eine Verbindung eingerichtet ist, die geschlossen wird, bevor ein Transport eine Ausnahme auslöst, oder legt dieses fest.
Öffentliche EigenschaftUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMessageVersionRuft die Nachrichtenversion ab, die von den Clients und Diensten verwendet wird, die mit der Bindung konfiguriert wurden.
Öffentliche EigenschaftUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsNameRuft den Namen der Bindung ab oder legt diesen fest.
Öffentliche EigenschaftUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsNamespaceRuft den XML-Namespace einer Bindung ab oder legt diesen fest.
Öffentliche EigenschaftUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsOpenTimeoutRuft das Zeitintervall ab, das für eine Verbindung eingerichtet ist, die geöffnet wird, bevor ein Transport eine Ausnahme auslöst, oder legt dieses fest.
Öffentliche EigenschaftUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReceiveTimeoutRuft ein Zeitintervall ab oder legt ein Zeitintervall fest, während dessen eine Verbindung inaktiv bleiben kann und keine Anwendungsnachrichten empfangen werden, bevor sie verworfen werden.
Öffentliche EigenschaftUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsSchemeBei Implementierung in einer abgeleiteten Klasse richtet dieser Wert das URI-Schema ein, das den Transport festlegt, der von den Kanal- und Listenerfactorys verwendet wird, die von den Bindungen erstellt werden.
Öffentliche EigenschaftUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsSendTimeoutRuft das Zeitintervall ab, das für einen Schreibvorgang eingerichtet ist, der abgeschlossen wird, bevor ein Transport eine Ausnahme auslöst, oder legt dieses fest.
Zum Seitenanfang

  NameBeschreibung
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsBuildChannelFactory<TChannel>(BindingParameterCollection)Erstellt den Kanalfactorystapel auf dem Client, der einen festgelegten Kanaltyp erstellt und der die Funktionen erfüllt, die von einer Auflistung von Bindungsparametern festgelegt werden.
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsBuildChannelFactory<TChannel>(Object[])Erstellt den Kanalfactorystapel auf dem Client, der einen festgelegten Kanaltyp erstellt und der die Funktionen erfüllt, die von einem Objektarray festgelegt werden.
Öffentliche MethodeBuildChannelListener<TChannel>(BindingParameterCollection)Erstellt den Kanallistener auf dem Dienst, der einen festgelegten Kanaltyp akzeptiert und der die Funktionen erfüllt, die von einer Auflistung von Bindungsparametern festgelegt werden.
Öffentliche MethodeBuildChannelListener<TChannel>(Object[])Erstellt den Kanallistener auf dem Dienst, der einen festgelegten Kanaltyp akzeptiert und der die festgelegten Funktionen erfüllt.
Öffentliche MethodeBuildChannelListener<TChannel>(Uri, Object[])Erstellt den Kanallistener auf dem Dienst, der einen festgelegten Kanaltyp akzeptiert und der die festgelegten Funktionen erfüllt.
Öffentliche MethodeBuildChannelListener<TChannel>(Uri, BindingParameterCollection)Erstellt den Kanallistener auf dem Dienst, der einen festgelegten Kanaltyp akzeptiert und der die festgelegten Funktionen erfüllt.
Öffentliche MethodeBuildChannelListener<TChannel>(Uri, String, Object[])Erstellt den Kanallistener auf dem Dienst, der einen festgelegten Kanaltyp akzeptiert und der die festgelegten Funktionen erfüllt.
Öffentliche MethodeBuildChannelListener<TChannel>(Uri, String, BindingParameterCollection)Erstellt den Kanallistener auf dem Dienst, der einen festgelegten Kanaltyp akzeptiert und der die festgelegten Funktionen erfüllt.
Öffentliche MethodeBuildChannelListener<TChannel>(Uri, String, ListenUriMode, Object[])Erstellt den Kanallistener auf dem Dienst, der einen festgelegten Kanaltyp akzeptiert und der die festgelegten Funktionen erfüllt.
Öffentliche MethodeBuildChannelListener<TChannel>(Uri, String, ListenUriMode, BindingParameterCollection)Erstellt den Kanallistener auf dem Dienst, der einen festgelegten Kanaltyp akzeptiert und der die festgelegten Funktionen erfüllt.
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsCanBuildChannelFactory<TChannel>(BindingParameterCollection)Gibt einen Wert zurück, der angibt, ob die aktuelle Bindung einen Kanalfactorystapel auf dem Client erstellen kann, der die Auflistung festgelegter Bindungsparameter erfüllt.
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsCanBuildChannelFactory<TChannel>(Object[])Gibt einen Wert zurück, der angibt, ob die aktuelle Bindung einen Kanalfactorystapel auf dem Client erstellen kann, der die von einem Objektarray festgelegten Anforderungen erfüllt.
Öffentliche MethodeCanBuildChannelListener<TChannel>(BindingParameterCollection)Gibt einen Wert zurück, der angibt, ob die aktuelle Bindung einen Kanallistenerstapel auf dem Dienst erstellen kann, der die Auflistung festgelegter Bindungsparameter erfüllt.
Öffentliche MethodeCanBuildChannelListener<TChannel>(Object[])Gibt einen Wert zurück, der angibt, ob die aktuelle Bindung einen Kanallistenerstapel auf dem Dienst erstellen kann, der die in einem Objektarray festgelegten Kriterien erfüllt.
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsCreateBindingElementsWenn dieser in einer abgeleiteten Klasse überschrieben wird, wird eine Auflistung mit Bindungselementen erstellt, die zur aktuellen Bindung gehören.
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsEquals(Object)Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.)
Geschützte MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsFinalize Gibt einem Objekt Gelegenheit, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Von Object geerbt.)
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetHashCodeFungiert als die Standardhashfunktion. (Von Object geerbt.)
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetProperty<T>Gibt ggf. ein angefordertes typisiertes Objekt von der entsprechenden Ebene im Bindungsstapel zurück.
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Geschützte MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMemberwiseCloneErstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Öffentliche MethodeShouldSerializeNameGibt einen Wert zurück, der angibt, ob der Name der Bindung serialisiert werden soll.
Öffentliche MethodeShouldSerializeNamespaceGibt einen Wert zurück, der angibt, ob der Namespace der Bindung serialisiert werden soll.
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsToStringGibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Zum Seitenanfang

Stellt eine Sammlung an Bindungselemente dar, von denen jedes einzelne einen Aspekt darüber beschreibt, wie ein Endpunkt mit anderen Endpunkten kommuniziert, und die konsistent in eine Kanalfactory auf dem Client und in einen Kanallistener im Dienst eingebaut sind. Eine Bindung enthält eine Sammlung an Bindungselementen, die Protokollkanälen, Transportkanälen und Nachrichtenencodern entsprechen. Die Anzahl an Bindungselementen für Protokollkanäle ist beliebig. Für jeden Transport und jeden Nachrichtenencoder gibt es jedoch nur ein Bindungselement. Es gibt üblicherweise sechs Ebenen von Bindungselementen in einer Bindung. Nur die Transport- und Codierungsbindungselemente im unteren Teil des Stapels sind erforderlich. Da für jede Bindung eine Codierung notwendig ist, kann über Windows Communication Foundation (WCF) eine Standardcodierung hinzugefügt werden, wenn keine Codierung festgelegt ist. Der Standard ist Text/XML für die HTTP- und HTTPS-Transporte und binär für andere Transporte.

In der folgenden Tabelle werden die Optionen für jede Ebene zusammengefasst.

Ebene

Optionen

Erforderlich

Transaktionsfluss

TransactionFlowBindingElement

No

Zuverlässigkeit

ReliableSessionBindingElement

No

Sicherheit

Symmetrisch, asymmetrisch, auf Transportebene

No

Formänderung

CompositeDuplexBindingElement

No

Transport-Upgrades

SSL-Stream, Windows-Stream, Peerresolver

No

Codierung

Text, Binärdatei, MTOM, benutzerdefiniert

Yes

Transport

TCP, Named Pipes, HTTP, HTTPS, MSMQ, benutzerdefiniert

Yes

Jedes Bindungselement stellt die Spezifikation für die Erstellung einer Kanalfactory auf dem Client und eines Kanallistener auf dem Dienst bereit. Wenn der Kanalfactorystapel erstellt wird, ist beispielsweise nur eine Kanalfactory für jedes Bindungselement in der Bindung vorhanden. Diese Art von Zuordnung gilt für Kanallistener im Stapel des Diensts. Konsistenz auf dem Client und dem Dienst ist für die Erstellung der kanalbasierten Verbindung zwischen diesen Endpunkten entscheidend. Jede Factory und jeder Listener verarbeitet das Senden und Annehmen der entsprechenden Kanäle im Kanalstapel, mit dem eine Verbindung besteht, und diese Kanäle können dann Kommunikationsnachrichten senden und empfangen.

Jede Instanz von Binding hat eine Name und eine Namespace, die zusammen eine eindeutige Identifizierung in den Metadaten des Diensts ergeben. Wenn kein Name oder Namespace angegeben ist, fügt WCF einen Standardwert hinzu. Der Standardname lautet null und der Standard-Namespace http://tempuri.org/. Dieser Benutzername für die Bindung unterscheidet sich von der Spezifikation des Protokollnamens, der durch die Scheme-Eigenschaft festgelegt wird. Wenn Sie weitere HTTP-Bindungen hinzufügen möchten, können Sie z. B. diese benennen, wie Sie möchten, und alle ihre Schemas auf 'http' setzen. Es gibt keine inhärente Anwendung oder Rechnerverteilung auf Grundlage von Scheme. So vermeiden Sie das übliche Problem, keine zusätzlichen Handler für bekannte Protokolle registrieren zu können. Durch die Vergabe eines anderen Namens für jede Version können Sie leicht mit mehreren Versionen einer Bindung gleichzeitig arbeiten.

Die Binding-Klasse implementiert die IDefaultCommunicationTimeouts-Schnittstelle zur Schwächung von Denial-of-Service-Angriffen (DOS), die Ressourcen für längere Zeitintervalle binden. Die Implementierung legt die Werte für Kommunikations-Timeouts für das Öffnen und Schließen von Verbindungen und für das Lesen und Schreiben von Vorgängen im Zusammenhang mit dem Nachrichtenempfang und -versand fest. Die für das Abrufen und Einrichten dieser Timeouts verwendeten Eigenschaften und ihre Vorgänge mit Standardwerten werden in der folgenden Tabelle zusammengefasst.

Timeouteigenschaft

Standardwert

OpenTimeout

1 Minute

CloseTimeout

1 Minute

SendTimeout

1 Minute

ReceiveTimeout

10 Minuten

Wenn Sie eine Bindung erstellen, indem Sie von Binding erben, müssen Sie CreateBindingElements überschreiben.

Zusätzlich können Sie Ihre eigenen Bindungselemente definieren und diese zwischen den in der vorherigen Tabelle definierten Ebenen einsetzen. Weitere Informationen finden Sie in den Ausführungen zur CustomBinding-Klasse.


BasicHttpBinding binding = new BasicHttpBinding();

binding.Name = "binding1";

Uri baseAddress = new Uri("http://localhost:8000/servicemodelsamples/service");
Uri address = new Uri("http://localhost:8000/servicemodelsamples/service/calc");

// Create a ServiceHost for the CalculatorService type and provide the base address.
using (ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), baseAddress))
{
    serviceHost.AddServiceEndpoint(typeof(ICalculator), binding, address);

    // Open the ServiceHostBase to create listeners and start listening for messages.
    serviceHost.Open();

    // The service can now be accessed.
    Console.WriteLine("The service is ready.");
    Console.WriteLine("Press <ENTER> to terminate service.");
    Console.WriteLine();
    Console.ReadLine();
    // Close the ServiceHostBase to shutdown the service.
    serviceHost.Close();
}


.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Portable Klassenbibliothek

Unterstützt in: Portable Klassenbibliothek

.NET für Windows Store-Apps

Unterstützt in: Windows 8

.NET für Windows Phone-Apps

Unterstützt in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft