<netTcpBinding>

Anger en säker, tillförlitlig, optimerad bindning som lämpar sig för kommunikation mellan datorer. Som standard genererar den en körningskommunikationsstack med Windows-säkerhet för meddelandesäkerhet och autentisering, TCP för meddelandeleverans och binär meddelandekodning.

<Konfiguration>
  <system.serviceModel>
    <Bindningar>
      <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>

Attribut och element

I följande avsnitt beskrivs attribut, underordnade element och överordnade element.

Attribut

Attribut Beskrivning
closeTimeout Ett TimeSpan värde som anger tidsintervallet för en stängningsåtgärd som ska slutföras. Det här värdet ska vara större än eller lika med Zero. Standardvärdet är 00:01:00.
hostNameComparisonMode Anger det HTTP-värdnamnsjämförelseläge som används för att parsa URI:er. Det här attributet är av typen HostNameComparisonMode, vilket anger om värdnamnet används för att nå tjänsten vid matchning på URI:n. Standardvärdet är StrongWildcard, som ignorerar värdnamnet i matchningen.
listenBacklog Ett positivt heltal som anger det maximala antalet kanaler som väntar på att accepteras på lyssnaren. Anslutningar som överskrider den här gränsen placeras i kö tills utrymme under gränsen blir tillgängligt. Attributet connectionTimeout begränsar den tid som en klient väntar på att anslutas innan ett anslutningsfel utlöser. Standardvärdet är 10.
maxBufferPoolSize Ett heltal som anger den maximala buffertpoolstorleken för den här bindningen. Standardvärdet är 512 * 1 024 byte. Många delar av Windows Communication Foundation (WCF) använder buffertar. Att skapa och förstöra buffertar varje gång de används är dyrt, och skräpinsamling för buffertar är också dyrt. Med buffertpooler kan du ta en buffert från poolen, använda den och returnera den till poolen när du är klar. Därmed undviks arbetet med att skapa och förstöra buffertar.
maxBufferSize Ett positivt heltal som anger den maximala storleken i byte för bufferten som används för att lagra meddelanden i minnet.

transferMode Om attributet är lika med Bufferedska det här attributet vara lika med maxReceivedMessageSize attributvärdet.

transferMode Om attributet är lika med Streamedkan det här attributet inte vara mer än maxReceivedMessageSize attributvärdet och bör vara minst storleken på rubrikerna.

Standardvärdet är 65536. Mer information finns i MaxBufferSize.
maxConnections Ett heltal som anger det maximala antalet utgående och inkommande anslutningar som tjänsten skapar/accepterar. Inkommande och utgående anslutningar räknas mot en separat gräns som anges av det här attributet.

Inkommande anslutningar som överskrider gränsen placeras i kö tills ett utrymme under gränsen blir tillgängligt.

Utgående anslutningar som överskrider gränsen placeras i kö tills ett utrymme under gränsen blir tillgängligt.

Standardvärdet är 10.
maxReceivedMessageSize Ett positivt heltal som anger den maximala meddelandestorleken i byte, inklusive rubriker, som kan tas emot på en kanal som konfigurerats med den här bindningen. Avsändaren av ett meddelande som överskrider den här gränsen får ett SOAP-fel. Mottagaren släpper meddelandet och skapar en post för händelsen i spårningsloggen. Standardvärdet är 65536.
name En sträng som innehåller bindningens konfigurationsnamn. Det här värdet ska vara unikt eftersom det används som en identifiering för bindningen. Från och med .NET Framework 4 krävs inte bindningar och beteenden för att ha ett namn. Mer information om standardkonfiguration och namnlösa bindningar och beteenden finns i Förenklad konfiguration och förenklad konfiguration för WCF-tjänster.
openTimeout Ett TimeSpan värde som anger tidsintervallet för en öppen åtgärd som ska slutföras. Det här värdet ska vara större än eller lika med Zero. Standardvärdet är 00:01:00.
portSharingEnabled Ett booleskt värde som anger om TCP-portdelning är aktiverat för den här anslutningen. Om detta är falseanvänder varje bindning sin egen exklusiva port. Den här inställningen är endast relevant för tjänster eftersom klienter inte påverkas.
receiveTimeout Ett TimeSpan värde som anger tidsintervallet för en mottagningsåtgärd som ska slutföras. Det här värdet ska vara större än eller lika med Zero. Standardvärdet är 00:10:00.
sendTimeout Ett TimeSpan värde som anger tidsintervallet för en sändningsåtgärd som ska slutföras. Det här värdet ska vara större än eller lika med Zero. Standardvärdet är 00:01:00.
transactionFlow Ett booleskt värde som anger om bindningen stöder flödande WS-Transactions. Standardvärdet är false.
transactionProtocol Anger det transaktionsprotokoll som ska användas med den här bindningen. Giltiga värden är

- OleTransactions
- WSAtomicTransactionOctober2004

Standardvärdet är OleTransactions. Det här attributet är av typen TransactionProtocol.
transferMode Ett TransferMode värde som anger om meddelanden buffrats eller strömmats eller en begäran eller ett svar.

Underordnade element

Element Beskrivning
<Säkerhet> Definierar säkerhetsinställningarna för bindningen. Det här elementet är av typen NetTcpSecurityElement.
<readerQuotas> Definierar begränsningarna för komplexiteten i SOAP-meddelanden som kan bearbetas av slutpunkter som konfigurerats med den här bindningen. Det här elementet är av typen XmlDictionaryReaderQuotasElement.
<reliableSession> Anger om tillförlitliga sessioner upprättas mellan kanalslutpunkter.

Överordnade element

Element Beskrivning
<Bindningar> Det här elementet innehåller en samling standardbindningar och anpassade bindningar.

Kommentarer

Den här bindningen genererar en körningskommunikationsstack som standard, som använder transportsäkerhet, TCP för meddelandeleverans och en binär meddelandekodning. Den här bindningen är ett lämpligt WCF-systemval (Windows Communication Foundation) för kommunikation via ett intranät.

Standardkonfigurationen netTcpBinding för är snabbare än konfigurationen som tillhandahålls av wsHttpBinding, men den är endast avsedd för WCF-kommunikation. Säkerhetsbeteendet kan konfigureras med hjälp av det valfria securityMode attributet . Användningen av WS-ReliableMessaging kan konfigureras med hjälp av det valfria reliableSessionEnabled attributet . Men tillförlitliga meddelanden är inaktiverade som standard. Mer allmänt är http-systembaserade bindningar som wsHttpBinding och basicHttpBinding konfigurerade för att aktivera saker som standard, medan bindningen netTcpBinding inaktiverar saker som standard så att du måste välja att få support, till exempel för en av WS-*-specifikationerna. Det innebär att standardkonfigurationen för TCP går snabbare vid utbyte av meddelanden mellan slutpunkter än de som konfigurerats för HTTP-bindningar som standard.

Exempel

Bindningen anges i konfigurationsfilerna för klienten och tjänsten. Bindningstypen anges i binding -attributet för -elementet <endpoint> . Om du vill konfigurera netTcpBinding-bindningen och ändra några av dess inställningar måste du definiera en bindningskonfiguration. Slutpunkten måste referera till bindningskonfigurationen med ett bindingConfiguration attribut. I följande exempel definieras en bindningskonfiguration.

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

Se även