<netTcpBinding>
Biztonságos, megbízható, optimalizált kötést ad meg, amely alkalmas a gépek közötti kommunikációra. Alapértelmezés szerint egy futtatókörnyezeti kommunikációs vermet hoz létre a Windows biztonságával az üzenetbiztonság és -hitelesítés, az üzenetkézbesítési TCP és a bináris üzenetkódolás érdekében.
<Konfigurációs>
<system.serviceModel>
<Kötések>
<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>
Attribútumok és elemek
Az alábbi szakaszok az attribútumokat, a gyermekelemeket és a szülőelemeket ismertetik.
Attribútumok
Attribútum | Leírás |
---|---|
closeTimeout |
Egy TimeSpan érték, amely megadja a bezárási művelet befejezéséhez megadott időintervallumot. Ennek az értéknek nagyobbnak vagy egyenlőnek kell lennie, Zeromint . Az alapértelmezett érték 00:01:00. |
hostNameComparisonMode |
Megadja az URI-k elemzéséhez használt HTTP-állomásnév-összehasonlítási módot. Ez az attribútum típusa HostNameComparisonMode, amely azt jelzi, hogy az URI-n való egyeztetéskor a gazdanév használatával éri-e el a szolgáltatást. Az alapértelmezett érték a StrongWildcard, amely figyelmen kívül hagyja a gazdanevet az egyezésben. |
listenBacklog |
Pozitív egész szám, amely meghatározza a figyelőn elfogadásra váró csatornák maximális számát. A korlátot meghaladó kapcsolatok várólistára kerülnek, amíg a korlát alatti terület elérhetővé nem válik. Az connectionTimeout attribútum korlátozza, hogy az ügyfél mennyi ideig várjon a csatlakozásra, mielőtt csatlakozási kivételt eredményez. Az alapértelmezett érték 10. |
maxBufferPoolSize |
Egy egész szám, amely meghatározza a kötés pufferkészletének maximális méretét. Az alapértelmezett érték 512 * 1024 bájt. A Windows Communication Foundation (WCF) számos része puffereket használ. A pufferek létrehozása és megsemmisítése minden használatkor költséges, és a pufferek szemétgyűjtése is költséges. A pufferkészletek használatával a készletből puffert vehet fel, használhatja, és a művelet befejezése után visszaadhatja a készletbe. Így elkerülhetők a pufferek létrehozására és megsemmisítésére vonatkozó többletterhelések. |
maxBufferSize |
Pozitív egész szám, amely az üzenetek memóriában való tárolásához használt puffer maximális méretét adja meg bájtban. Ha az transferMode attribútum értéke Buffered , akkor ennek az attribútumnak meg kell egyeznie az attribútum értékével maxReceivedMessageSize .Ha az attribútum értéke Streamed , akkor ez az transferMode attribútum nem lehet nagyobb, mint az maxReceivedMessageSize attribútum értéke, és legalább a fejlécek méretének kell lennie.Az alapértelmezett érték 65536. További információ: MaxBufferSize. |
maxConnections |
A szolgáltatás által létrehozott/elfogadható kimenő és bejövő kapcsolatok maximális számát megadó egész szám. A bejövő és kimenő kapcsolatokat a rendszer az attribútum által meghatározott külön korlátnak számítja ki. A korlátot meghaladó bejövő kapcsolatok várólistára kerülnek, amíg a korlát alatti terület elérhetővé nem válik. A korlátot meghaladó kimenő kapcsolatok várólistára kerülnek, amíg a korlát alatti terület elérhetővé nem válik. Az alapértelmezett érték 10. |
maxReceivedMessageSize |
Pozitív egész szám, amely a kötéssel konfigurált csatornán fogadható maximális üzenetméretet adja meg bájtban, beleértve a fejléceket is. A korlátot túllépő üzenet feladója SOAP-hibát kap. A fogadó eldobja az üzenetet, és létrehozza az esemény bejegyzését a nyomkövetési naplóban. Az alapértelmezett érték 65536. |
name |
A kötés konfigurációs nevét tartalmazó sztring. Ennek az értéknek egyedinek kell lennie, mert a kötés azonosítására szolgál. A .NET-keretrendszer 4-től kezdve a kötéseknek és a viselkedéseknek nem kell nevet adniuk. További információ az alapértelmezett konfigurációról, valamint a név nélküli kötésekről és viselkedésekről: Egyszerűsített konfiguráció és egyszerűsített konfiguráció WCF-szolgáltatásokhoz. |
openTimeout |
Egy TimeSpan érték, amely meghatározza a nyitott művelet végrehajtásához megadott időintervallumot. Ennek az értéknek nagyobbnak vagy egyenlőnek kell lennie, Zeromint . Az alapértelmezett érték 00:01:00. |
portSharingEnabled |
Logikai érték, amely meghatározza, hogy engedélyezve van-e a TCP-portmegosztás ehhez a kapcsolathoz. Ha ez , false minden kötés saját kizárólagos portot használ. Ez a beállítás csak a szolgáltatásokra vonatkozik, mert az ügyfelekre nincs hatással. |
receiveTimeout |
Egy TimeSpan érték, amely meghatározza a fogadási művelet végrehajtásához megadott időintervallumot. Ennek az értéknek nagyobbnak vagy egyenlőnek kell lennie, Zeromint . Az alapértelmezett érték 00:10:00. |
sendTimeout |
Egy TimeSpan érték, amely meghatározza a küldési művelet végrehajtásához megadott időintervallumot. Ennek az értéknek nagyobbnak vagy egyenlőnek kell lennie, Zeromint . Az alapértelmezett érték 00:01:00. |
transactionFlow |
Logikai érték, amely meghatározza, hogy a kötés támogatja-e a WS-Transactions folyamatait. A mező alapértelmezett értéke: false . |
transactionProtocol |
Meghatározza az ezzel a kötéssel használandó tranzakciós protokollt. Az érvényes értékek a következők: - OleTransactions - WSAtomicTransactionOctober2004 Az alapértelmezett érték az OleTransactions. Ez az attribútum típusa TransactionProtocol. |
transferMode |
Egy TransferMode érték, amely meghatározza, hogy az üzenetek pufferelve vagy streamelve vannak-e, vagy kérés vagy válasz. |
Gyermekelemek
Elem | Leírás |
---|---|
<Biztonsági> | Meghatározza a kötés biztonsági beállításait. Ez az elem típusa NetTcpSecurityElement. |
<readerQuotas> | Meghatározza az ezzel a kötéssel konfigurált végpontok által feldolgozható SOAP-üzenetek összetettségére vonatkozó korlátozásokat. Ez az elem típusa XmlDictionaryReaderQuotasElement. |
<reliableSession> | Megadja, hogy megbízható munkamenetek jönnek-e létre a csatornavégpontok között. |
Szülőelemek
Elem | Leírás |
---|---|
<Kötések> | Ez az elem standard és egyéni kötések gyűjteményét tartalmazza. |
Megjegyzések
Ez a kötés alapértelmezés szerint létrehoz egy futásidejű kommunikációs vermet, amely átviteli biztonságot, TCP-t használ az üzenetkézbesítéshez és egy bináris üzenetkódolást. Ez a kötés a Windows Communication Foundation (WCF) rendszer által biztosított megfelelő választás az intraneten keresztüli kommunikációhoz.
A alapértelmezett konfigurációja netTcpBinding
gyorsabb, mint a wsHttpBinding
által biztosított konfiguráció, de csak WCF-kommunikációra szolgál. A biztonsági viselkedés a választható securityMode
attribútummal konfigurálható. A WS-ReliableMessaging használata a választható reliableSessionEnabled
attribútummal konfigurálható. A megbízható üzenetküldés azonban alapértelmezés szerint ki van kapcsolva. Általánosságban elmondható, hogy a HTTP rendszer által biztosított kötések( például wsHttpBinding
és basicHttpBinding
) alapértelmezés szerint be vannak kapcsolva, míg a netTcpBinding
kötés alapértelmezés szerint kikapcsolja a dolgokat, így be kell jelentkeznie, hogy támogatást kapjon, például az egyik WS-* specifikációhoz. Ez azt jelenti, hogy a TCP alapértelmezett konfigurációja gyorsabban vált üzeneteket a végpontok között, mint az alapértelmezés szerint a HTTP-kötésekhez konfiguráltak.
Példa
A kötés az ügyfél és a szolgáltatás konfigurációs fájljaiban van megadva. A kötés típusa az binding
elem attribútumában <endpoint>
van megadva. Ha konfigurálni szeretné a netTcpBinding kötést, és módosítani szeretné annak egyes beállításait, meg kell határoznia egy kötéskonfigurációt. A végpontnak egy attribútummal kell hivatkoznia a kötés konfigurációjára bindingConfiguration
. Az alábbi példában egy kötéskonfiguráció van definiálva.
<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>