<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 Buffered ska det här attributet vara lika med maxReceivedMessageSize attributvärdet.transferMode Om attributet är lika med Streamed kan 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 false anvä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>