<netTcpBinding>
Makineler arası iletişim için uygun güvenli, güvenilir, iyileştirilmiş bir bağlama belirtir. Varsayılan olarak, ileti güvenliği ve kimlik doğrulaması, ileti teslimi için TCP ve ikili ileti kodlama için Windows Güvenliği ile bir çalışma zamanı iletişim yığını oluşturur.
<Yapılandırma>
<system.serviceModel>
<Bağlama>
<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>
Öznitelikler ve öğeler
Öznitelikler, alt ve üst öğeler aşağıdaki bölümlerde açıklanmaktadır.
Öznitelikler
Öznitelik | Açıklama |
---|---|
closeTimeout |
Kapatma TimeSpan işleminin tamamlanması için sağlanan zaman aralığını belirten değer. Bu değer değerinden büyük veya değerine Zeroeşit olmalıdır. Varsayılan değer 00:01:00'dır. |
hostNameComparisonMode |
URI'leri ayrıştırmak için kullanılan HTTP ana bilgisayar adı karşılaştırma modunu belirtir. Bu öznitelik, URI ile eşleştirilirken ana bilgisayar adının hizmete ulaşmak için kullanılıp kullanılmadığını gösteren türündedir HostNameComparisonMode. Varsayılan değer, eşleşmedeki konak adını yoksayan değeridir StrongWildcard. |
listenBacklog |
Dinleyicide kabul edilmeyi bekleyen en fazla kanal sayısını belirten pozitif bir tamsayı. Bu sınırı aşan bağlantılar, sınırın altındaki alan kullanılabilir duruma gelene kadar kuyruğa alınıyor. özniteliği, connectionTimeout bağlantı özel durumu oluşturmadan önce istemcinin bağlanmayı bekleyeceği süreyi sınırlar. Varsayılan değer 10'dur. |
maxBufferPoolSize |
Bu bağlama için arabellek havuzu boyutunun üst sınırını belirten bir tamsayı. Varsayılan değer 512 * 1024 bayttır. Windows Communication Foundation'ın (WCF) birçok bölümünde arabellek kullanılır. Arabelleklerin her kullanıldığında oluşturulması ve yok edilmesi pahalıdır ve arabellekler için çöp toplama da pahalıdır. Arabellek havuzları ile havuzdan bir arabellek alabilir, kullanabilir ve işiniz bittiğinde havuza döndürebilirsiniz. Bu nedenle arabellek oluşturma ve yok etme ek yükünden kaçınılır. |
maxBufferSize |
İletileri bellekte depolamak için kullanılan arabelleğin bayt cinsinden en büyük boyutunu belirten pozitif bir tamsayı.transferMode özniteliği değerine eşitseBuffered , bu öznitelik öznitelik değerine eşit maxReceivedMessageSize olmalıdır.transferMode özniteliği değerine Streamed eşitse, bu öznitelik öznitelik değerinden maxReceivedMessageSize daha büyük olamaz ve en azından üst bilgilerin boyutu olmalıdır.Varsayılan değer 65536'dır. Daha fazla bilgi için bkz. MaxBufferSize. |
maxConnections |
Hizmetin oluşturacağı/kabul edeceği en fazla giden ve gelen bağlantı sayısını belirten bir tamsayı. Gelen ve giden bağlantılar, bu öznitelik tarafından belirtilen ayrı bir sınıra göre sayılır. Sınırı aşan gelen bağlantılar, sınırın altındaki bir alan kullanılabilir duruma gelene kadar kuyruğa alınıyor. Sınırı aşan giden bağlantılar, sınırın altındaki bir alan kullanılabilir hale gelene kadar kuyruğa alınıyor. Varsayılan değer 10'dur. |
maxReceivedMessageSize |
Bu bağlamayla yapılandırılan bir kanalda alınabilecek üst bilgiler de dahil olmak üzere bayt cinsinden en büyük ileti boyutunu belirten pozitif bir tamsayı. Bu sınırı aşan bir iletinin göndereni SOAP hatası alır. Alıcı iletiyi bırakır ve izleme günlüğünde olayın bir girdisini oluşturur. Varsayılan değer 65536'dır. |
name |
Bağlamanın yapılandırma adını içeren bir dize. Bağlama için tanımlama olarak kullanıldığından bu değer benzersiz olmalıdır. .NET Framework 4'den başlayarak, bağlamaların ve davranışların bir ada sahip olması gerekmez. Varsayılan yapılandırma ve adsız bağlamalar ve davranışlar hakkında daha fazla bilgi için bkz. WCF Hizmetleri için Basitleştirilmiş Yapılandırma ve Basitleştirilmiş Yapılandırma. |
openTimeout |
Açma TimeSpan işleminin tamamlanması için sağlanan zaman aralığını belirten değer. Bu değer değerinden büyük veya değerine Zeroeşit olmalıdır. Varsayılan değer 00:01:00'dır. |
portSharingEnabled |
Bu bağlantı için TCP bağlantı noktası paylaşımının etkinleştirilip etkinleştirilmediğini belirten bir Boole değeri. Bu ise false , her bağlama kendi özel bağlantı noktasını kullanır. İstemciler etkilenmediğinden bu ayar yalnızca hizmetlerle ilgilidir. |
receiveTimeout |
Alma TimeSpan işleminin tamamlanması için sağlanan zaman aralığını belirten değer. Bu değer değerinden büyük veya değerine Zeroeşit olmalıdır. Varsayılan değer 00:10:00'dır. |
sendTimeout |
Gönderme TimeSpan işleminin tamamlanması için sağlanan zaman aralığını belirten değer. Bu değer değerinden büyük veya değerine Zeroeşit olmalıdır. Varsayılan değer 00:01:00'dır. |
transactionFlow |
Bağlamanın akış WS-Transactions'i destekleyip desteklemediğini belirten boole değeri. Varsayılan değer: false . |
transactionProtocol |
Bu bağlama ile kullanılacak işlem protokollerini belirtir. Geçerli değerler şunlardır: - OleTransactions - WSAtomicTransactionOctober2004 Varsayılan değer OleTransactions'tır. Bu öznitelik türündedir TransactionProtocol. |
transferMode |
TransferMode İletilerin arabelleğe alınıp alınmayacağını veya akışa alınıp alınmayacağını ya da istek ya da yanıt olup olmadığını belirten bir değer. |
Alt öğeleri
Öğe | Açıklama |
---|---|
<Güvenlik> | Bağlama için güvenlik ayarlarını tanımlar. Bu öğe türündedir NetTcpSecurityElement. |
<readerQuotas> | Bu bağlama ile yapılandırılan uç noktalar tarafından işlenebilen SOAP iletilerinin karmaşıklığıyla ilgili kısıtlamaları tanımlar. Bu öğe türündedir XmlDictionaryReaderQuotasElement. |
<reliableSession> | Kanal uç noktaları arasında güvenilir oturumlar oluşturularak kurulmadığını belirtir. |
Üst öğeler
Öğe | Açıklama |
---|---|
<Bağlama> | Bu öğe, standart ve özel bağlamalardan oluşan bir koleksiyonu barındırıyor. |
Açıklamalar
Bu bağlama varsayılan olarak aktarım güvenliğini, ileti teslimi için TCP'yi ve ikili ileti kodlamasını kullanan bir çalışma zamanı iletişim yığını oluşturur. Bu bağlama, intranet üzerinden iletişim kurmak için uygun bir Windows Communication Foundation (WCF) sistemi tarafından sağlanan seçenektir.
için netTcpBinding
varsayılan yapılandırma, tarafından wsHttpBinding
sağlanan yapılandırmadan daha hızlıdır, ancak yalnızca WCF iletişimi için tasarlanmıştır. Güvenlik davranışı isteğe bağlı securityMode
özniteliği kullanılarak yapılandırılabilir. WS-ReliableMessaging kullanımı isteğe bağlı reliableSessionEnabled
özniteliği kullanılarak yapılandırılabilir. Ancak güvenilir mesajlaşma varsayılan olarak kapalıdır. Daha genel olarak, ve basicHttpBinding
gibi wsHttpBinding
HTTP sistemi tarafından sağlanan bağlamalar varsayılan olarak öğeleri açmak üzere yapılandırılırkennetTcpBinding
, bağlama varsayılan olarak öğeleri kapatır, böylece WS-* belirtimlerinden biri için destek almak için kabul etmeniz gerekir. Bu, TCP için varsayılan yapılandırmanın uç noktalar arasında ileti alışverişinde, VARSAYıLAN OLARAK HTTP bağlamaları için yapılandırılanlardan daha hızlı olduğu anlamına gelir.
Örnek
Bağlama, istemci ve hizmetin yapılandırma dosyalarında belirtilir. Bağlama türü öğesinin binding
özniteliğinde <endpoint>
belirtilir. netTcpBinding bağlamasını yapılandırmak ve bazı ayarlarını değiştirmek istiyorsanız, bağlama yapılandırması tanımlamak gerekir. Uç nokta, bağlama yapılandırmasına bir bindingConfiguration
öznitelikle başvurmalıdır. Aşağıdaki örnekte bağlama yapılandırması tanımlanmıştır.
<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>