Sdílet prostřednictvím


<Nettcpbinding>

Určuje zabezpečenou, spolehlivou a optimalizovanou vazbu, která je vhodná pro komunikaci mezi počítači. Ve výchozím nastavení generuje zásobník komunikace modulu runtime s Zabezpečení Windows pro zabezpečení a ověřování zpráv, TCP pro doručování zpráv a kódování binární zprávy.

<Konfigurace>
  <System.servicemodel>
    <Vazby>
      <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>

Atributy a prvky

Následující části popisují atributy, podřízené prvky a nadřazené prvky.

Atributy

Atribut Popis
closeTimeout Hodnota TimeSpan , která určuje časový interval zadaný pro dokončení operace uzavření. Tato hodnota by měla být větší nebo rovna Zero. Výchozí hodnota je 00:01:00.
hostNameComparisonMode Určuje režim porovnání názvů hostitelů HTTP, který se použije k parsování identifikátorů URI. Tento atribut je typu HostNameComparisonMode, který označuje, jestli se název hostitele používá k připojení ke službě při porovnávání identifikátoru URI. Výchozí hodnota je StrongWildcard, která ignoruje název hostitele v shodě.
listenBacklog Kladné celé číslo, které určuje maximální počet kanálů čekajících na přijetí v naslouchacím procesu. Připojení přesahující tento limit se zasouvají do fronty, dokud nebude k dispozici místo pod tímto limitem. Atribut connectionTimeout omezuje dobu, po které bude klient čekat na připojení, než vyvolá výjimku připojení. Výchozí hodnota je 10.
maxBufferPoolSize Celé číslo, které určuje maximální velikost fondu vyrovnávacích pamětí pro tuto vazbu. Výchozí hodnota je 512 × 1024 bajtů. Mnoho částí Windows Communication Foundation (WCF) používá vyrovnávací paměti. Vytváření a ničení vyrovnávacích pamětí při každém jejich použití je nákladné a uvolňování paměti pro vyrovnávací paměti je také nákladné. Pomocí fondů vyrovnávacích pamětí můžete z fondu vzít vyrovnávací paměť, použít ji a po dokončení ji vrátit do fondu. Tím se vyhnete režijní režii při vytváření a ničení vyrovnávacích pamětí.
maxBufferSize Kladné celé číslo, které určuje maximální velikost vyrovnávací paměti použité k ukládání zpráv do paměti (v bajtech).

Pokud se transferMode atribut rovná Buffered, měl by se tento atribut rovnat hodnotě atributu maxReceivedMessageSize .

Pokud se transferMode atribut rovná Streamed, nemůže být tento atribut větší než hodnota atributu maxReceivedMessageSize a měl by mít alespoň velikost hlaviček.

Výchozí hodnota je 65536. Další informace naleznete v tématu MaxBufferSize.
maxConnections Celé číslo, které určuje maximální počet odchozích a příchozích připojení, která služba vytvoří nebo přijme. Příchozí a odchozí připojení se počítají do samostatného limitu určeného tímto atributem.

Příchozí připojení přesahující limit se zasouvají do fronty, dokud nebude k dispozici prostor pod limitem.

Odchozí připojení přesahující limit se zasouvají do fronty, dokud nebude k dispozici prostor pod limitem.

Výchozí hodnota je 10.
maxReceivedMessageSize Kladné celé číslo, které určuje maximální velikost zprávy v bajtech včetně hlaviček, které lze přijímat v kanálu nakonfigurovaného pomocí této vazby. Odesílatel zprávy překračující tento limit obdrží chybu SOAP. Příjemce zprávu zahodí a vytvoří záznam události v protokolu trasování. Výchozí hodnota je 65536.
name Řetězec, který obsahuje název konfigurace vazby. Tato hodnota by měla být jedinečná, protože se používá jako identifikace vazby. Počínaje rozhraním .NET Framework 4 není nutné, aby vazby a chování měly název. Další informace o výchozí konfiguraci a bezpomenných vazbách a chování najdete v tématu Zjednodušená konfigurace a zjednodušená konfigurace pro služby WCF.
openTimeout Hodnota TimeSpan , která určuje časový interval zadaný pro dokončení operace otevření. Tato hodnota by měla být větší nebo rovna Zero. Výchozí hodnota je 00:01:00.
portSharingEnabled Logická hodnota, která určuje, zda je pro toto připojení povoleno sdílení portů TCP. Pokud je falseto , každá vazba používá svůj vlastní exkluzivní port. Toto nastavení je relevantní jenom pro služby, protože na klienty to nemá vliv.
receiveTimeout Hodnota TimeSpan , která určuje časový interval zadaný pro dokončení operace příjmu. Tato hodnota by měla být větší nebo rovna Zero. Výchozí hodnota je 00:10:00.
sendTimeout Hodnota TimeSpan , která určuje časový interval zadaný pro dokončení operace odeslání. Tato hodnota by měla být větší nebo rovna Zero. Výchozí hodnota je 00:01:00.
transactionFlow Logická hodnota, která určuje, zda vazba podporuje tok ws-Transactions. Výchozí formát je false.
transactionProtocol Určuje transakční protokol, který má být použit s touto vazbou. Platné hodnoty jsou:

– OleTransactions
– WSAtomicTransactionOctober2004

Výchozí hodnota je OleTransactions. Tento atribut je typu TransactionProtocol.
transferMode Hodnota TransferMode , která určuje, jestli se zprávy ukládají do vyrovnávací paměti nebo streamují, nebo jestli se mají vyžadovat nebo odpovědět.

Podřízené prvky

Element Popis
<Zabezpečení> Definuje nastavení zabezpečení pro vazbu. Tento prvek je typu NetTcpSecurityElement.
<čtenářQuotas> Definuje omezení složitosti zpráv SOAP, které mohou být zpracovány koncovými body nakonfigurovanými pomocí této vazby. Tento prvek je typu XmlDictionaryReaderQuotasElement.
<reliableSession> Určuje, jestli se mezi koncovými body kanálu navazují spolehlivé relace.

Nadřazené prvky

Element Popis
<Vazby> Tento element obsahuje kolekci standardních a vlastních vazeb.

Poznámky

Tato vazba generuje ve výchozím nastavení zásobník komunikace za běhu, který používá zabezpečení přenosu, TCP pro doručování zpráv a kódování binární zprávy. Tato vazba je vhodnou volbou systému Windows Communication Foundation (WCF) pro komunikaci přes intranet.

Výchozí konfigurace pro netTcpBinding je rychlejší než konfigurace poskytovaná wsHttpBinding, ale je určena pouze pro komunikaci WCF. Chování zabezpečení je konfigurovatelné pomocí volitelného securityMode atributu. Použití WS-ReliableMessaging je možné konfigurovat pomocí volitelného reliableSessionEnabled atributu. Spolehlivé zasílání zpráv je ale ve výchozím nastavení vypnuté. Obecněji platí, že systémové vazby HTTP, jako wsHttpBinding jsou a basicHttpBinding , jsou nakonfigurované tak, aby se ve výchozím nastavení zapnuly, zatímco netTcpBinding vazby ve výchozím nastavení vypínají, takže pokud chcete získat podporu, například pro některou ze specifikací WS-*, musíte vyjádřit výslovný souhlas. To znamená, že výchozí konfigurace protokolu TCP je rychlejší při výměně zpráv mezi koncovými body než konfigurace pro vazby HTTP ve výchozím nastavení.

Příklad

Vazba je určena v konfiguračních souborech pro klienta a službu. Typ vazby je určen v atributu binding elementu <endpoint> . Pokud chcete nakonfigurovat vazbu netTcpBinding a změnit některá její nastavení, je nutné definovat konfiguraci vazby. Koncový bod musí odkazovat na konfiguraci vazby atributem bindingConfiguration . V následujícím příkladu je definována konfigurace vazby.

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

Viz také