Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gibt eine sichere, zuverlässige, optimierte Bindung an, die für die maschinenübergreifende Kommunikation geeignet ist. Standardmäßig wird ein Laufzeitkommunikationsstapel mit Windows Security für Nachrichtensicherheit und -Authentifizierung, TCP für die Nachrichtenübermittlung und binäre Nachrichtencodierung generiert.
<Konfiguration>
<system.serviceModel>
<Einbände>
<netTcpBinding>
Syntax
<netTcpBinding>
<binding closeTimeout="TimeSpan"
hostNameComparisonMode="StrongWildCard/Exact/WeakWildcard"
listenBacklog="Integer"
maxBufferPoolSize="integer"
maxBufferSize="Integer"
maxConnections="Integer"
maxReceivedMessageSize="Integer"
name="string"
openTimeout="TimeSpan"
portSharingEnabled="Boolean"
receiveTimeout="TimeSpan"
sendTimeout="TimeSpan"
transactionFlow="Boolean"
transactionProtocol="OleTransactions/WSAtomicTransactionOctober2004"
transferMode="Buffered/Streamed/StreamedRequest/StreamedResponse">
<reliableSession ordered="Boolean"
inactivityTimeout="TimeSpan"
enabled="Boolean" />
<security mode="None/Transport/Message/Both">
<message clientCredentialType="None/Windows/UserName/Certificate/CardSpace"
algorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15" />
<transport clientCredentialType="None/Windows/Certificate"
protectionLevel="None/Sign/EncryptAndSign" />
</security>
<readerQuotas maxArrayLength="Integer"
maxBytesPerRead="Integer"
maxDepth="Integer"
maxNameTableCharCount="Integer"
maxStringContentLength="Integer" />
</binding>
</netTcpBinding>
Attribute und Elemente
In den folgenden Abschnitten werden Attribute sowie untergeordnete und übergeordnete Elemente beschrieben.
Attribute
| Merkmal | Description |
|---|---|
closeTimeout |
Ein TimeSpan Wert, der das Zeitintervall angibt, das für einen abschlussden Vorgang bereitgestellt wird. Dieser Wert sollte größer oder gleich Zerosein. Der Standardwert ist 00:01:00. |
hostNameComparisonMode |
Gibt den Vergleichsmodus des HTTP-Hostnamens an, der zum Analysieren von URIs verwendet wird. Dieses Attribut ist vom Typ HostNameComparisonMode, der angibt, ob der Hostname verwendet wird, um den Dienst beim Abgleich im URI zu erreichen. Der Standardwert ist StrongWildcard, der den Hostnamen in der Übereinstimmung ignoriert. |
listenBacklog |
Eine positive ganze Zahl, die die maximale Anzahl von Kanälen angibt, die auf die Aufnahme des Listeners warten. Verbindungen, die diesen Grenzwert überschreiten, werden in die Warteschlange eingereiht, bis der Speicherplatz unter dem Grenzwert verfügbar ist. Das connectionTimeout Attribut begrenzt die Zeit, zu der ein Client verbunden wird, bevor eine Verbindungs ausnahme ausgelöst wird. Der Standardwert ist 10. |
maxBufferPoolSize |
Eine ganze Zahl, die die maximale Pufferpoolgröße für diese Bindung angibt. Der Standardwert ist 512 * 1024 Bytes. Viele Teile von Windows Communication Foundation (WCF) verwenden Puffer. Das Erstellen und Zerstören von Puffern jedes Mal, wenn sie verwendet werden, ist teuer, und die Garbage Collection für Puffer ist ebenfalls teuer. Mit Pufferpools können Sie einen Puffer aus dem Pool übernehmen, ihn verwenden und nach Abschluss an den Pool zurückgeben. So wird der Aufwand beim Erstellen und Zerstören von Puffern vermieden. |
maxBufferSize |
Eine positive ganze Zahl, die die maximale Größe des Puffers in Bytes angibt, der zum Speichern von Nachrichten im Arbeitsspeicher verwendet wird. Wenn das transferMode Attribut gleich ist Buffered, sollte dieses Attribut dem maxReceivedMessageSize Attributwert entsprechen.Wenn das transferMode Attribut gleich ist Streamed, darf dieses Attribut nicht mehr als der maxReceivedMessageSize Attributwert sein und sollte mindestens die Größe der Kopfzeilen aufweisen.Der Standardwert ist 65536. Weitere Informationen finden Sie unter MaxBufferSize. |
maxConnections |
Eine ganze Zahl, die die maximale Anzahl von ausgehenden und eingehenden Verbindungen angibt, die der Dienst erstellt/akzeptiert. Eingehende und ausgehende Verbindungen werden anhand eines separaten Grenzwerts gezählt, der durch dieses Attribut angegeben wird. Eingehende Verbindungen, die den Grenzwert überschreiten, werden in die Warteschlange gestellt, bis ein Leerraum unter dem Grenzwert verfügbar ist. Ausgehende Verbindungen, die über dem Grenzwert liegen, werden in die Warteschlange gestellt, bis ein Leerraum unter dem Grenzwert verfügbar ist. Der Standardwert ist 10. |
maxReceivedMessageSize |
Eine positive ganze Zahl, die die maximale Nachrichtengröße in Bytes einschließlich Kopfzeilen angibt, die in einem Kanal empfangen werden können, der mit dieser Bindung konfiguriert ist. Der Absender einer Nachricht, die diesen Grenzwert überschreitet, erhält einen SOAP-Fehler. Der Empfänger legt die Nachricht ab und erstellt einen Eintrag des Ereignisses im Ablaufverfolgungsprotokoll. Der Standardwert ist 65536. |
name |
Eine Zeichenfolge, die den Konfigurationsnamen der Bindung enthält. Dieser Wert sollte eindeutig sein, da er als Identifikation für die Bindung verwendet wird. Ab .NET Framework 4 müssen Bindungen und Verhaltensweisen keinen Namen haben. Weitere Informationen zu Standardkonfigurationen und namenslosen Bindungen und Verhaltensweisen finden Sie unter Vereinfachte Konfiguration und vereinfachte Konfiguration für WCF-Dienste. |
openTimeout |
Ein TimeSpan Wert, der das Für den Abschluss eines geöffneten Vorgangs bereitgestellte Zeitintervall angibt. Dieser Wert sollte größer oder gleich Zerosein. Der Standardwert ist 00:01:00. |
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. Diese Einstellung ist nur für Dienste relevant, da Clients nicht betroffen sind. |
receiveTimeout |
Ein TimeSpan Wert, der das Für den Abschluss eines Empfangsvorgangs bereitgestellte Zeitintervall angibt. Dieser Wert sollte größer oder gleich Zerosein. Der Standardwert ist 00:10:00. |
sendTimeout |
Ein TimeSpan Wert, der das Für den Abschluss eines Sendevorgangs bereitgestellte Zeitintervall angibt. Dieser Wert sollte größer oder gleich Zerosein. Der Standardwert ist 00:01:00. |
transactionFlow |
Ein boolescher Wert, der angibt, ob die Bindung den Fluss von WS-Transactions unterstützt. Der Standardwert lautet false. |
transactionProtocol |
Gibt das Transaktionsprotokoll an, das mit dieser Bindung verwendet werden soll. Gültige Werte sind - OleTransactions - WSAtomicTransactionOctober2004 Der Standardwert ist OleTransactions. Dieses Attribut ist vom Typ TransactionProtocol. |
transferMode |
Ein TransferMode Wert, der angibt, ob Nachrichten gepuffert oder gestreamt werden, oder eine Anforderung oder Antwort. |
Untergeordnete Elemente
| Element | Description |
|---|---|
| <Sicherheit> | Definiert die Sicherheitseinstellungen für die Bindung. Dieses Element ist vom Typ NetTcpSecurityElement. |
| <readerQuotas> | Definiert die Einschränkungen für die Komplexität von SOAP-Nachrichten, die von Endpunkten verarbeitet werden können, die mit dieser Bindung konfiguriert sind. Dieses Element ist vom Typ XmlDictionaryReaderQuotasElement. |
| <reliableSession> | Gibt an, ob zuverlässige Sitzungen zwischen Kanalendpunkten hergestellt werden. |
Übergeordnete Elemente
| Element | Description |
|---|---|
| <Einbände> | Dieses Element enthält eine Sammlung von Standard- und benutzerdefinierten Bindungen. |
Bemerkungen
Diese Bindung generiert standardmäßig einen Laufzeitkommunikationsstapel, der Transportsicherheit, TCP für die Nachrichtenübermittlung und eine binäre Nachrichtencodierung verwendet. Diese Bindung ist eine geeignete Windows Communication Foundation (WCF)-Systemoption für die Kommunikation über ein Intranet.
Die Standardkonfiguration für die netTcpBinding Datei ist schneller als die von der wsHttpBindingWCF-Kommunikation bereitgestellte Konfiguration. Das Sicherheitsverhalten kann mithilfe des optionalen securityMode Attributs konfiguriert werden. Die Verwendung von WS-ReliableMessaging kann mithilfe des optionalen reliableSessionEnabled Attributs konfiguriert werden. Zuverlässige Nachrichten sind jedoch standardmäßig deaktiviert. Im Allgemeinen werden die vom HTTP-System bereitgestellten Bindungen, z wsHttpBindingbasicHttpBinding . B. so konfiguriert, dass elemente standardmäßig aktiviert werden, während die netTcpBinding Bindung standardmäßig deaktiviert wird, damit Sie sich anmelden müssen, um Unterstützung zu erhalten, z. B. für eine der WS-*-Spezifikationen. Dies bedeutet, dass die Standardkonfiguration für TCP beim Austauschen von Nachrichten zwischen Endpunkten schneller ist als die für die HTTP-Bindungen standardmäßig konfigurierten.
Example
Die Bindung wird in den Konfigurationsdateien für den Client und dienst angegeben. Der Bindungstyp wird im binding Attribut des <endpoint> Elements angegeben. Wenn Sie die netTcpBinding-Bindung konfigurieren und einige seiner Einstellungen ändern möchten, müssen Sie eine Bindungskonfiguration definieren. Der Endpunkt muss auf die Bindungskonfiguration mit einem bindingConfiguration Attribut verweisen. Im folgenden Beispiel wird eine Bindungskonfiguration definiert.
<services>
<service name="Microsoft.ServiceModel.Samples.CalculatorService"
behaviorConfiguration="CalculatorServiceBehavior">
...
<endpoint address=""
binding="netTcpBinding"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
...
</service>
</services>
<bindings>
<netTcpBinding>
<binding closeTimeout="00:01:00"
openTimeout="00:01:00"
receiveTimeout="00:10:00"
sendTimeout="00:01:00"
transactionFlow="false"
transferMode="Buffered"
transactionProtocol="OleTransactions"
hostNameComparisonMode="StrongWildcard"
listenBacklog="10"
maxBufferPoolSize="524288"
maxBufferSize="65536"
maxConnections="10"
maxReceivedMessageSize="65536">
<readerQuotas maxDepth="32"
maxStringContentLength="8192"
maxArrayLength="16384"
maxBytesPerRead="4096"
maxNameTableCharCount="16384" />
<reliableSession ordered="true"
inactivityTimeout="00:10:00"
enabled="false" />
<security mode="Transport">
<transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" />
</security>
</binding>
</netTcpBinding>
</bindings>