<netNamedPipeBinding>

Menentukan pengikatan yang aman, andal, dioptimalkan untuk komunikasi lintas proses mesin. Secara default, ini menghasilkan tumpukan komunikasi runtime dengan WS-ReliableMessaging untuk keandalan, keamanan transportasi untuk keamanan transfer, pipa bernama untuk pengiriman pesan, dan pengodean pesan biner.

<configuration>
  <system.serviceModel>
    <bindings>
      <netNamedPipeBinding>

Syntax

<netNamedPipeBinding>
  <binding closeTimeout="TimeSpan"
           hostNameComparisonMode="StrongWildCard/Exact/WeakWildcard"
           maxBufferPoolSize="Integer"
           maxBufferSize="Integer"
           maxConnections="Integer"
           maxReceivedMessageSize="Integer"
           name="String"
           openTimeout="TimeSpan"
           receiveTimeout="TimeSpan"
           sendTimeout="TimeSpan"
           transactionFlow="Boolean"
           transactionProtocol="OleTransactions/WS-AtomicTransactionOctober2004"
           transferMode="Buffered/Streamed/StreamedRequest/StreamedResponse">
    <security mode="None/Transport">
      <transport protectionLevel="None/Sign/EncryptAndSign" />
    </security>
    <readerQuotas maxArrayLength="Integer"
                  maxBytesPerRead="Integer"
                  maxDepth="Integer"
                  maxNameTableCharCount="Integer"
                  maxStringContentLength="Integer" />
  </binding>
</netNamedPipeBinding>

Atribut dan Elemen

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

Attributes

Attribute Description
closeTimeout Nilai TimeSpan yang menentukan interval waktu yang disediakan agar operasi dekat selesai. 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 cocok pada URI. Nilai defaultnya adalah StrongWildcard, yang mengabaikan nama host dalam kecocokan.
maxBufferPoolSize Bilangan bulat yang menentukan ukuran kumpulan buffer maksimum untuk pengikatan ini. Defaultnya adalah 524.288 byte (512 * 1024). Banyak bagian dari Windows Communication Foundation (WCF) menggunakan buffer. Membuat dan menghancurkan buffer setiap kali digunakan mahal, dan pengumpulan sampah untuk buffer juga mahal. Dengan kumpulan buffer, Anda dapat mengambil buffer dari kumpulan, menggunakannya, dan mengembalikannya ke kumpulan setelah selesai. Dengan demikian overhead dalam membuat dan menghancurkan buffer dihindari.
maxBufferSize Bilangan bulat positif yang menentukan ukuran maksimum, dalam byte, dari buffer yang digunakan untuk menyimpan pesan dalam memori. Jika buffer penuh, data berlebih tetap berada di soket yang mendasar hingga buffer memiliki ruang lagi. Nilai ini tidak boleh kurang dari maxReceivedMessageSize atribut. Defaultnya adalah 65536. Untuk informasi selengkapnya, lihat MaxBufferSize .
maxKoneksi Bilangan bulat yang menentukan jumlah maksimum koneksi keluar dan masuk yang akan dibuat/diterima layanan. Koneksi masuk dan keluar dihitung berdasarkan batas terpisah yang ditentukan oleh atribut ini.

Koneksi masuk melebihi batas diantrekan hingga ruang di bawah batas tersedia.

Koneksi keluar melebihi batas diantrekan hingga ruang di bawah batas tersedia.

Nilai default 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 menghilangkan pesan dan membuat entri peristiwa di log jejak. Defaultnya adalah 65536.
Nama String yang berisi nama konfigurasi pengikatan. Nilai ini harus unik karena digunakan sebagai identifikasi untuk pengikatan. Dimulai dengan .NET Framework 4, pengikatan dan perilaku tidak diperlukan untuk memiliki nama. Untuk informasi selengkapnya tentang konfigurasi default dan pengikatan dan perilaku tanpa nama, lihat Konfigurasi Yang Disederhanakan dan Konfigurasi Yang Disederhanakan untuk Layanan WCF.
openTimeout TimeSpan Nilai yang menentukan interval waktu yang disediakan agar operasi terbuka selesai. Nilai ini harus lebih besar dari atau sama dengan Zero. Defaultnya adalah 00:01:00.
receiveTimeout Nilai TimeSpan yang menentukan interval waktu yang disediakan agar operasi penerima selesai. Nilai ini harus lebih besar dari atau sama dengan Zero. Defaultnya adalah 00:10:00.
sendTimeout Nilai TimeSpan yang menentukan interval waktu yang disediakan agar operasi pengiriman selesai. Nilai ini harus lebih besar dari atau sama dengan Zero. Defaultnya adalah 00:01:00.
transactionFlow Nilai Boolean yang menentukan apakah pengikatan mendukung aliran WS-Transactions. Defaultnya adalah false.
transactionProtocol Menentukan protokol transaksi yang akan digunakan dengan pengikatan ini. Nilai yang valid adalah

- OleTransactions
- WS-AtomicTransactionOctober2004

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

Elemen Anak

Elemen Description
<keamanan> Menentukan pengaturan keamanan untuk pengikatan. Elemen ini berjenis NetNamedPipeBindingElement.
<readerQuotas> Menentukan batasan pada kompleksitas pesan SOAP yang dapat diproses oleh titik akhir yang dikonfigurasi dengan pengikatan ini. Elemen ini berjenis XmlDictionaryReaderQuotasElement.

Elemen Induk

Elemen Description
<Binding> Elemen ini menyimpan kumpulan pengikatan standar dan kustom.

Komentar

NetNamedPipeBinding menghasilkan tumpukan komunikasi runtime secara default, yang menggunakan keamanan transportasi, pipa bernama untuk pengiriman pesan, dan pengodean pesan biner. Pengikatan ini adalah pilihan yang disediakan sistem Windows Communication Foundation (WCF) yang sesuai untuk komunikasi pada komputer. Ini juga mendukung transaksi.

Konfigurasi default untuk NetNamedPipeBinding mirip dengan konfigurasi yang disediakan oleh NetTcpBinding, tetapi lebih sederhana karena implementasi WCF hanya dimaksudkan untuk penggunaan pada komputer dan akibatnya ada lebih sedikit fitur yang diekspos. Perbedaan yang paling mencolok adalah bahwa securityMode pengaturan hanya menawarkan None opsi dan Transport . Dukungan keamanan SOAP bukanlah opsi yang disertakan. Perilaku keamanan dapat dikonfigurasi menggunakan atribut opsional securityMode .

Example

Contoh berikut menunjukkan pengikatan netNamedPipeBinding, yang menyediakan komunikasi lintas proses pada komputer yang sama. Pipa bernama tidak berfungsi di seluruh mesin.

Pengikatan ditentukan dalam file konfigurasi untuk klien dan layanan. Jenis pengikatan ditentukan dalam binding atribut <endpoint> elemen . Jika Anda ingin mengonfigurasi pengikatan netNamedPipeBinding dan mengubah beberapa pengaturannya, Anda harus menentukan konfigurasi pengikatan. Titik akhir harus mereferensikan konfigurasi pengikatan berdasarkan nama dengan bindingConfiguration atribut . Dalam contoh ini, konfigurasi pengikatan diberi nama Binding1.

<configuration>
  <system.serviceModel>
    <services>
      <service name="Microsoft.ServiceModel.Samples.CalculatorService"
               behaviorConfiguration="CalculatorServiceBehavior">
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:8000/ServiceModelSamples/service" />
          </baseAddresses>
        </host>
        <!-- this endpoint is exposed at the base address provided by host: net.pipe://localhost/ServiceModelSamples/service  -->
        <endpoint address="net.pipe://localhost/ServiceModelSamples/service"
                  binding="netNamedPipeBinding"
                  contract="Microsoft.ServiceModel.Samples.ICalculator" />
        <!-- the mex endpoint is exposed at http://localhost:8000/ServiceModelSamples/service/mex -->
        <endpoint address="mex"
                  binding="mexHttpBinding"
                  contract="IMetadataExchange" />
      </service>
    </services>
    <bindings>
      <netNamedPipeBinding>
        <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"
                 maxBufferPoolSize="524288"
                 maxBufferSize="65536"
                 maxConnections="10"
                 maxReceivedMessageSize="65536">
          <security mode="Transport">
            <transport protectionLevel="EncryptAndSign" />
          </security>
        </binding>
      </netNamedPipeBinding>
    </bindings>
    <!--For debugging purposes set the includeExceptionDetailInFaults attribute to true-->
    <behaviors>
      <serviceBehaviors>
        <behavior name="CalculatorServiceBehavior">
          <serviceMetadata httpGetEnabled="True" />
          <serviceDebug includeExceptionDetailInFaults="False" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
</configuration>

Lihat juga