<wsDualHttpBinding>

Mendefinisikan pengikatan yang aman, andal, dan dapat dioperasikan yang cocok untuk kontrak layanan dupleks atau komunikasi melalui perantara SOAP.

<konfigurasi>
  <system.serviceModel>
    <mengikat>
      <wsDualHttpBinding>

Sintaks

<wsDualHttpBinding>
  <binding name="String"
          closeTimeout="TimeSpan"
          openTimeout="TimeSpan"
          receiveTimeout="TimeSpan"
          sendTimeout="TimeSpan"
          bypassProxyOnLocal="Boolean"
          clientBaseAddress="URI"
          transactionFlow="Boolean"
          hostNameComparisonMode="StrongWildCard/Exact/WeakWildcard"
          maxBufferPoolSize="integer"
          maxReceivedMessageSize="Integer"
          messageEncoding="Text/Mtom"
          proxyAddress="URI"
          textEncoding="Unicode/BigEndianUnicode/UTF8"
          useDefaultWebProxy="Boolean">
    <reliableSession ordered="Boolean"
                     inactivityTimeout="TimeSpan" />
    <security mode="None/Message">
      <message clientCredentialType="None/Windows/UserName/Certificate/CardSpace"
               negotiateServiceCredential="Boolean"
               algorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15" />
    </security>
    <readerQuotas maxArrayLength="Integer"
                  maxBytesPerRead="Integer"
                  maxDepth="Integer"
                  maxNameTableCharCount="Integer"
                  maxStringContentLength="Integer" />
  </binding>
</wsDualHttpBinding>

Atribut dan Elemen

Bagian berikut menjelaskan atribut, elemen anak, dan elemen induk

Atribut

Atribut Deskripsi
bypassProxyOnLocal Nilai Boolean yang menunjukkan apakah akan melewati server proksi untuk alamat lokal. Defaultnya adalah false.
clientBaseAddress URI yang menetapkan alamat dasar yang didengarkan klien untuk pesan respons dari layanan. Jika ditentukan, alamat ini (ditambah GUID per saluran) digunakan untuk mendengarkan. Jika nilainya tidak ditentukan, alamat basis klien dibuat dengan cara khusus transportasi. Defaultnya adalah null.
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.
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 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.
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.
pesanEncoding Mendefinisikan encoder yang digunakan untuk menyandikan pesan. Nilai yang valid mencakup hal-hal berikut:

- Teks: Gunakan encoder pesan teks.
- Mtom: Gunakan encoder Message Transmission Organization Mechanism 1.0 (MTOM).
- Defaultnya adalah Teks.

Atribut ini berjenis WSMessageEncoding.
nama 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.
proxyAddress URI yang menentukan alamat proksi HTTP. Jika useDefaultWebProxy adalah true, pengaturan ini harus null. Defaultnya adalah null.
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:01: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.
textEncoding Mengatur pengodean tataan karakter yang akan digunakan untuk memancarkan pesan pada pengikatan. Nilai yang valid mencakup hal-hal berikut:

- BigEndianUnicode: Pengodean Unicode BigEndian.
- Unicode: Pengodean 16-bit.
- UTF8: Pengodean 8-bit

Defaultnya adalah UTF8. Atribut ini berjenis Encoding.
transactionFlow Nilai Boolean yang menentukan apakah pengikatan mendukung WS-Transactions yang mengalir. Defaultnya adalah false.
useDefaultWebProxy Nilai Boolean yang menunjukkan apakah proksi HTTP yang dikonfigurasi otomatis sistem yang digunakan. Alamat proksi harus null (yaitu, tidak diatur) jika atribut ini adalah true. Defaultnya adalah true.

Elemen Anak

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

Elemen Induk

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

Keterangan

WSDualHttpBinding memberikan dukungan yang sama untuk protokol Layanan Web seperti WSHttpBinding, tetapi untuk digunakan dengan kontrak dupleks. WSDualHttpBinding hanya mendukung keamanan SOAP dan memerlukan pengiriman pesan yang andal. Pengikatan ini mengharuskan klien memiliki URI publik yang menyediakan titik akhir panggilan balik untuk layanan. Hal ini disediakan oleh atribut clientBaseAddress. Pengikatan ganda memaparkan alamat IP klien ke layanan. Klien harus menggunakan keamanan untuk memastikan bahwa pengikatan hanya terhubung ke layanan yang dipercaya.

Pengikatan ini dapat digunakan untuk berkomunikasi dengan andal melalui satu atau beberapa perantara SOAP.

Secara default, pengikatan ini menghasilkan tumpukan runtime dengan WS-ReliableMessaging untuk keandalan, WS-Security untuk keamanan dan autentikasi pesan, HTTP untuk pengiriman pesan, dan pengodean pesan Teks/XML.

Contoh

<configuration>
  <system.ServiceModel>
    <bindings>
      <wsDualHttpBinding>
        <binding closeTimeout="00:00:10"
                 openTimeout="00:00:20"
                 receiveTimeout="00:00:30"
                 sendTimeout="00:00:40"
                 bypassProxyOnLocal="false"
                 clientBaseAddress="http://localhost:8001/client/"
                 transactionFlow="true"
                 hostNameComparisonMode="WeakWildcard"
                 maxReceivedMessageSize="1000"
                 messageEncoding="Mtom"
                 proxyAddress="http://foo/bar"
                 textEncoding="utf-16"
                 useDefaultWebProxy="false">
          <reliableSession ordered="false"
                           inactivityTimeout="00:02:00" />
          <security mode="None">
            <message clientCredentialType="None"
                     negotiateServiceCredential="false"
                     algorithmSuite="Aes128" />
          </security>
        </binding>
      </wsDualHttpBinding>
    </bindings>
  </system.ServiceModel>
</configuration>

Lihat juga