<netTcpBinding>

Menentukan pengikatan yang aman, andal, dan dioptimalkan yang cocok untuk komunikasi lintas mesin. Secara default, ini menghasilkan tumpukan komunikasi runtime dengan Keamanan Windows untuk keamanan dan autentikasi pesan, TCP untuk pengiriman pesan, dan pengodean pesan biner.

<konfigurasi>
  <system.serviceModel>
    <pengikatan>
      <netTcpBinding>

Sintaks

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

Atribut dan elemen

Bagian berikut menjelaskan atribut, elemen turunan, dan elemen induk.

Atribut

Atribut Deskripsi
closeTimeout Nilai TimeSpan yang menentukan interval waktu yang disediakan untuk menyelesaikan operasi tertutup. Nilai ini harus lebih besar dari atau sama dengan Zero. Defaultnya adalah 00:01:00.
hostNameComparisonMode Menentukan mode perbandingan nama host HTTP yang digunakan untuk mengurai URI. Atribut ini berjenis HostNameComparisonMode, yang menunjukkan apakah nama host digunakan untuk menjangkau layanan saat mencocokkan pada URI. Nilai defaultnya adalah StrongWildcard, yang mengabaikan nama host yang cocok.
listenBacklog Bilangan bulat positif yang menentukan jumlah maksimum saluran yang menunggu untuk diterima pada pendengar. Koneksi melebihi batas ini diantrikan sampai ruang di bawah batas tersedia. Atribut connectionTimeout membatasi waktu tunggu klien untuk terhubung sebelum melemparkan pengecualian koneksi. Nilai defaultnya adalah 10.
maxBufferPoolSize Bilangan bulat yang menentukan ukuran kumpulan buffer maksimum untuk pengikatan ini. Defaultnya adalah 512 * 1024 byte. Banyak bagian dari Windows Communication Foundation (WCF) menggunakan buffer. Membuat dan menghancurkan buffer setiap kali buffer digunakan sangatlah mahal, dan pengumpulan sampah untuk buffer juga mahal. Dengan pool buffer, Anda dapat mengambil buffer dari pool, menggunakannya, dan mengembalikannya setelah selesai. Dengan demikian overhead dalam membuat dan menghancurkan buffer dapat dihindari.
maxBufferSize Bilangan bulat positif yang menentukan ukuran maksimum, dalam byte, dari buffer yang digunakan untuk menyimpan pesan dalam memori.

Jika atribut transferMode sama dengan Buffered, atribut ini harus sama dengan nilai atribut maxReceivedMessageSize.

Jika atribut transferMode sama dengan Streamed, atribut ini tidak boleh lebih dari nilai atribut maxReceivedMessageSize, dan setidaknya harus seukuran header.

Defaultnya adalah 65536. Untuk informasi selengkapnya, lihat MaxBufferSize.
maxConnections Bilangan bulat yang menentukan jumlah maksimum koneksi keluar dan masuk yang akan dibuat /diterima oleh layanan. Koneksi masuk dan keluar dihitung berdasarkan batas terpisah yang ditentukan oleh atribut ini.

Koneksi masuk yang melebihi batas akan dimasukkan antrean hingga ruang di bawah batas tersedia.

Koneksi keluar yang melebihi batas akan dimasukkan antrean hingga ruang di bawah batas tersedia.

Nilai defaultnya adalah 10.
maxReceivedMessageSize Bilangan bulat positif yang menentukan ukuran pesan maksimum, dalam byte, termasuk header, yang dapat diterima pada saluran yang dikonfigurasi dengan pengikatan ini. Pengirim pesan yang melebihi batas ini akan menerima kesalahan SOAP. Penerima menjatuhkan pesan dan membuat entri peristiwa di log jejak. Defaultnya adalah 65536.
name String yang berisi nama konfigurasi pengikatan. Nilai ini harus unik karena digunakan sebagai identifikasi pengikatan. Dimulai dengan .NET Framework 4, pengikatan dan perilaku tidak perlu memiliki nama. Untuk informasi selengkapnya tentang konfigurasi default dan pengikatan serta perilaku tanpa nama, lihat Konfigurasi yang Disederhanakan dan Konfigurasi yang Disederhanakan untuk Layanan WCF.
openTimeout Nilai TimeSpan yang menentukan interval waktu yang disediakan untuk menyelesaikan operasi terbuka. Nilai ini harus lebih besar dari atau sama dengan Zero. Defaultnya adalah 00:01:00.
portSharingEnabled Nilai Boolean yang menentukan apakah berbagi port TCP diaktifkan untuk koneksi ini. Jika nilainya adalah false, setiap pengikatan menggunakan port eksklusifnya sendiri. Pengaturan ini hanya relevan untuk layanan, karena klien tidak terpengaruh.
receiveTimeout Nilai TimeSpan yang menentukan interval waktu yang disediakan untuk menyelesaikan operasi penerimaan. Nilai ini harus lebih besar dari atau sama dengan Zero. Defaultnya adalah 00:10:00.
sendTimeout Nilai TimeSpan yang menentukan interval waktu yang disediakan untuk menyelesaikan operasi pengiriman. Nilai ini harus lebih besar dari atau sama dengan Zero. Defaultnya adalah 00:01:00.
transactionFlow Nilai Boolean yang menentukan apakah pengikatan mendukung Transaksi WS yang mengalir. Defaultnya adalah false.
transactionProtocol Menentukan protokol transaksi yang akan digunakan dengan pengikatan ini. Nilai yang valid adalah

- OleTransactions
- WSAtomicTransactionOctober2004

Defaultnya adalah OleTransactions. Atribut ini berjenis TransactionProtocol.
transferMode Nilai TransferMode yang menentukan apakah pesan di-buffer atau dialirkan atau merupakan permintaan atau respons.

Elemen anak

Elemen Deskripsi
<security> Menentukan pengaturan keamanan untuk pengikatan. Elemen ini berjenis NetTcpSecurityElement.
<readerQuotas> Mendefinisikan batasan pada kompleksitas pesan SOAP yang dapat diproses oleh titik akhir yang dikonfigurasi dengan pengikatan ini. Elemen ini berjenis XmlDictionaryReaderQuotasElement.
<reliableSession> Menentukan jiks sesi yang andal dibuat di antara titik akhir saluran.

Elemen induk

Elemen Deskripsi
<bindings> Elemen ini menyimpan koleksi pengikatan standar dan kustom.

Keterangan

Pengikatan ini menghasilkan tumpukan komunikasi run-time secara default, yang menggunakan keamanan transportasi, TCP untuk pengiriman pesan, dan pengodean pesan biner. Pengikatan ini adalah pilihan yang disediakan sistem Windows Communication Foundation (WCF) yang tepat untuk berkomunikasi melalui Intranet.

Konfigurasi default untuk netTcpBinding lebih cepat daripada konfigurasi yang disediakan oleh wsHttpBinding, tetapi hanya ditujukan untuk komunikasi WCF. Perilaku keamanan dapat dikonfigurasi menggunakan atribut securityMode opsional. Penggunaan WS-ReliableMessaging dapat dikonfigurasi menggunakan atribut reliableSessionEnabled opsional. Tetapi pesan yang dapat diandalkan tidak dilakukan secara default. Lebih umum lagi, pengikatan yang disediakan sistem HTTP seperti wsHttpBinding dan basicHttpBinding dikonfigurasi untuk mengaktifkan semuanya secara default, sedangkan netTcpBinding pengikatan menonaktifkan secara default sehingga Anda harus ikut serta untuk mendapatkan dukungan, misalnya, untuk salah satu spesifikasi WS-*. Ini berarti bahwa konfigurasi default untuk TCP lebih cepat dalam bertukar pesan antar titik akhir daripada yang dikonfigurasi untuk pengikatan HTTP secara default.

Contoh

Pengikatan ditentukan dalam file konfigurasi untuk klien dan layanan. Jenis pengikatan ditentukan dalam atribut binding dari elemen <endpoint>. Jika Anda ingin mengonfigurasi pengikatan netTcpBinding dan mengubah beberapa pengaturannya, perlu untuk menentukan konfigurasi pengikatan. Titik akhir harus mereferensikan konfigurasi pengikatan dengan atribut bindingConfiguration. Dalam contoh berikut, konfigurasi pengikatan ditentukan.

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

Lihat juga