Freigeben über


<tcpTransport>

Definiert einen TCP-Transport, der von einem Kanal zum Übertragen von Nachrichten für eine benutzerdefinierte Bindung verwendet werden kann.

<Konfiguration>
   <system.serviceModel>
     <Einbände>
       <Custombinding>
         <verbindlich>
           <tcpTransport>

Syntax

<tcpTransport channelInitializationTimeout="TimeSpan"
              connectionBufferSize="Integer"
              hostNameComparisonMode="StrongWildcard/Exact/WeakWildcard"
              listenBacklog="Integer"
              manualAddressing="Boolean"
              maxBufferPoolSize="Integer"
              maxBufferSize="Integer"
              maxOutputDelay="TimeSpan"
              maxPendingAccepts="Integer"
              maxPendingConnections="Integer"
              maxReceivedMessageSize="Integer"
              portSharingEnabled="Boolean"
              teredoEnabled="Boolean"
              transferMode="Buffered/Streamed/StreamedRequest/StreamedResponse" >
  <connectionPoolSettings groupName="String"
                          idleTimeout="TimeSpan"
                          leaseTimeout="TimeSpan"
                          maxOutboundConnectionsPerEndpoint="Integer" />
</tcpTransport>

Attribute und Elemente

In den folgenden Abschnitten werden Attribute sowie untergeordnete und übergeordnete Elemente beschrieben.

Attribute

Merkmal Description
channelInitializationTimeout Dient zum Abrufen oder Festlegen des Zeitlimits für die Initialisierung eines Kanals, der akzeptiert werden soll. Die maximale Zeit, die ein Kanal in den Initialisierungszustand versetzt werden kann, bevor er in Sekunden getrennt wird. Dieses Kontingent enthält die Zeit, zu der eine TCP-Verbindung sich mit dem .NET Message Framing-Protokoll authentifizieren kann. Ein Client muss einige anfängliche Daten senden, bevor der Server über genügend Informationen zum Ausführen der Authentifizierung verfügt. Der Standardwert ist 30 Sekunden.
connectionBufferSize Dient zum Abrufen oder Festlegen der Größe des Puffers, der zum Übertragen eines Datenblocks der serialisierten Nachricht auf dem Draht vom Client oder Dienst verwendet wird.
hostNameComparisonMode Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob der Hostname verwendet wird, um den Dienst zu erreichen, wenn er für den URI abgleicht.
listenBacklog Die maximale Anzahl von Verbindungsanforderungen in der Warteschlange, die für einen Webdienst ausstehen können. Das connectionLeaseTimeout Attribut begrenzt die Dauer, die der Client wartet, bis eine Verbindung hergestellt wird, bevor eine Verbindungs ausnahme ausgelöst wird. Dies ist eine Socketebeneneigenschaft, die die maximale Anzahl von Verbindungsanforderungen in der Warteschlange steuert, die für einen Webdienst ausstehen können. Wenn ListenBacklog zu niedrig ist, akzeptiert WCF keine Anforderungen mehr und entfernt daher neue Verbindungen, bis der Server einige der vorhandenen Verbindungen in die Warteschlange bestätigt. Der Standardwert ist 16 * Anzahl der Prozessoren.
manualAddressing Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob eine manuelle Adressierung der Nachricht erforderlich ist.
maxBufferPoolSize Ruft die maximale Größe aller pufferpools ab, die vom Transport verwendet werden, oder legt diese fest.
maxBufferSize Ruft die maximale Größe des zu verwendenden Puffers ab oder legt diese fest. Bei gestreamten Nachrichten sollte dieser Wert mindestens die maximal mögliche Größe der Nachrichtenkopfzeilen sein, die im Puffermodus gelesen werden.
maxOutputDelay Ruft das maximale Zeitintervall ab, das ein Teil einer Nachricht oder einer vollständigen Nachricht im Arbeitsspeicher puffert, bevor er gesendet wird, oder legt dieses fest.
maxPendingAccepts Ruft die maximale Anzahl ausstehender asynchroner Annahmevorgänge ab, die für die Verarbeitung eingehender Verbindungen mit dem Dienst verfügbar sind, oder legt diese fest.
maxPendingConnections Ruft die maximale Anzahl von Verbindungen ab, die auf den Dienst warten, oder legt diese fest.
maxReceivedMessageSize Ruft die maximal zulässige Nachrichtengröße ab, die empfangen werden kann, und legt sie fest.
portSharingEnabled Ein boolescher Wert, der angibt, ob die TCP-Portfreigabe für diese Verbindung aktiviert ist. Wenn dies der Fall ist false, verwendet jede Bindung einen eigenen exklusiven Port. Der Standardwert lautet false.

Diese Einstellung ist nur für Dienste relevant. Clients sind nicht betroffen.

Die Verwendung dieser Einstellung erfordert, dass der TCP-Portfreigabedienst von Windows Communication Foundation (WCF) aktiviert wird, indem der Starttyp auf "Manuell" oder "Automatisch" geändert wird.
teredoEnabled Ein boolescher Wert, der angibt, ob Teredo (eine Technologie für die Adressierung von Clients hinter Firewalls) aktiviert ist. Der Standardwert lautet false.

Diese Eigenschaft aktiviert Teredo für den zugrunde liegenden TCP-Socket. Weitere Informationen finden Sie unter "Teredo Overview".

Diese Eigenschaft gilt nur für Windows XP SP2 und Windows Server 2003. Windows Vista verfügt über eine computerweite Konfigurationsoption für Teredo. Wenn Sie Vista ausführen, wird diese Eigenschaft ignoriert. Teredo erfordert, dass der Client- und Dienstcomputer den Microsoft IPv6-Stapel installiert und ordnungsgemäß für die Teredo-Verwendung konfiguriert haben.
transferMode Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob die Nachrichten mit dem verbindungsorientierten Transport gepuffert oder gestreamt werden.
connectionPoolSettings Gibt zusätzliche Verbindungspooleinstellungen für eine Named Pipe-Bindung an.

Untergeordnete Elemente

Nichts

Übergeordnete Elemente

Element Description
<verbindlich> Definiert alle Bindungsfunktionen der benutzerdefinierten Bindung.

Bemerkungen

Dieser Transport verwendet URIs des Formulars "net.tcp://hostname:port/path". Andere URI-Komponenten sind optional.

Das tcpTransport Element ist der Ausgangspunkt zum Erstellen einer benutzerdefinierten Bindung, die das TCP-Transportprotokoll implementiert. Dieser Transport ist für die WCF-zu-WCF-Kommunikation optimiert.

Siehe auch