Aracılığıyla paylaş


<netTcpBinding>

Makineler arası iletişim için uygun güvenli, güvenilir, iyileştirilmiş bağlamayı belirtir. Varsayılan olarak, ileti güvenliği ve kimlik doğrulaması için Windows Güvenliği, ileti teslimi için TCP ve ikili ileti kodlaması ile bir çalışma zamanı iletişim yığını oluşturur.

<configuration>
  <system.serviceModel>
    <bindings>
      <netTcpBinding>

Sözdizimi

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

Attributes

Özellik Description
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 buna 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'de 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 tamsayı. Bu sınırı aşan bağlantılar, sınırın altındaki alan kullanılabilir hale gelene kadar kuyruğa alınır. ö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 en büyük arabellek havuzu boyutunu belirten bir tamsayı. Varsayılan değer 512 * 1024 bayttır. Windows Communication Foundation'ın (WCF) birçok bölümünde arabellekler kullanılır. Arabellekleri her kullanışında oluşturmak ve yok etmek pahalıdır ve arabellekler için atık 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 Bufferedeşitse, bu öznitelik öznitelik değerine eşit maxReceivedMessageSize olmalıdır.

transferMode özniteliği değerine Streamedeşitse, bu öznitelik öznitelik değerinden maxReceivedMessageSize fazla 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 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 hale gelene kadar kuyruğa alınır.

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ır.

Varsayılan değer 10'dur.
maxReceivedMessageSize Bu bağlamayla yapılandırılmış 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çinBasitleştirilmiş Yapılandırma ve Basitleştirilmiş Yapılandırma.
openTimeout Açık TimeSpan işlemin tamamlanması için sağlanan zaman aralığını belirten değer. Bu değer değerinden büyük veya buna 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 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 buna Zeroeşit olmalıdır. Varsayılan değer 00:10:00'dır.
sendTimeout TimeSpan Gönderme işleminin tamamlanması için sağlanan zaman aralığını belirten değer. Bu değer değerinden büyük veya buna Zeroeşit olmalıdır. Varsayılan değer 00:01:00'dır.
transactionFlow Bağlamanın akış WS-Transactions'ı 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 öğeler

Öğe Description
<güvenlik> Bağlama için güvenlik ayarlarını tanımlar. Bu öğe türündedir NetTcpSecurityElement.
<readerQuotas> Bu bağlamayla 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ın kurulup kurulmadığını belirtir.

Üst öğeler

Öğe Description
<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) sistem tarafından sağlanan seçenektir.

için netTcpBinding varsayılan yapılandırma, tarafından wsHttpBindingsağ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 wsHttpBinding gibi basicHttpBinding HTTP sistem 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 almayı kabul etmeniz gerekir. Bu, TCP için varsayılan yapılandırmanın, uç noktalar arasında iletilerin alışverişi sırasında http bağlamaları için varsayılan olarak yapılandırılandan daha hızlı olduğu anlamına gelir.

Example

Bağlama, istemci ve hizmetin yapılandırma dosyalarında belirtilir. Bağlama türü öğesinin binding<endpoint> özniteliğinde 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>

Ayrıca bakınız