Bagikan melalui


<wsHttpBinding>

Mendefinisikan pengikatan yang aman, andal, dan dapat dioperasikan yang cocok untuk kontrak layanan non-dupleks. Pengikatan menerapkan spesifikasi berikut: WS-Reliable Messaging untuk keandalan, dan WS-Security untuk keamanan dan autentikasi pesan. Transport adalah HTTP, dan pengodean pesan adalah pengodean Teks / XML.

<konfigurasi>
  <system.serviceModel>
    <pengikatan>
      <wsHttpBinding>

Sintaks

<wsHttpBinding>
  <binding allowCookies="Boolean"
           bypassProxyOnLocal="Boolean"
           closeTimeout="TimeSpan"
           hostNameComparisonMode="StrongWildCard/Exact/WeakWildcard"
           maxBufferPoolSize="integer"
           maxReceivedMessageSize="Integer"
           messageEncoding="Text/Mtom"
           name="string"
           openTimeout="TimeSpan"
           proxyAddress="URI"
           receiveTimeout="TimeSpan"
           sendTimeout="TimeSpan"
           textEncoding="UnicodeFffeTextEncoding/Utf16TextEncoding/Utf8TextEncoding"
           transactionFlow="Boolean"
           useDefaultWebProxy="Boolean">
    <reliableSession ordered="Boolean"
                     inactivityTimeout="TimeSpan"
                     enabled="Boolean" />
    <security mode="Message/None/Transport/TransportWithCredential">
      <transport clientCredentialType="Basic/Certificate/Digest/None/Ntlm/Windows"
                 proxyCredentialType="Basic/Digest/None/Ntlm/Windows"
                 realm="string" />
      <message algorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15"
               clientCredentialType="Certificate/IssuedToken/None/UserName/Windows"
               establishSecurityContext="Boolean"
               negotiateServiceCredential="Boolean" />
    </security>
    <readerQuotas maxArrayLength="Integer"
                  maxBytesPerRead="Integer"
                  maxDepth="Integer"
                  maxNameTableCharCount="Integer"
                  maxStringContentLength="Integer" />
  </binding>
</wsHttpBinding>

Atribut dan Elemen

Bagian berikut menjelaskan atribut, elemen anak, dan elemen induk

Atribut

Atribut Deskripsi
allowCookies Nilai Boolean yang menunjukkan apakah klien menerima cookie dan menyebarkannya pada permintaan di masa mendatang. Defaultnya adalah false.

Anda dapat menggunakan properti ini saat berinteraksi dengan layanan Web ASMX yang menggunakan cookie. Dengan cara ini, Anda bisa yakin bahwa cookie yang dikembalikan dari server secara otomatis disalin ke semua permintaan klien di masa mendatang untuk layanan tersebut.
bypassProxyOnLocal Nilai Boolean yang menunjukkan apakah akan melewati server proksi untuk alamat lokal. Defaultnya adalah false.
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 useSystemWebProxy 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 Menentukan pengodean set karakter yang akan digunakan untuk mengirimkan pesan pada pengikatan. Nilai yang valid mencakup hal-hal berikut:

- UnicodeFffeTextEncoding: Pengodean Unicode BigEndian.
- Utf16TextEncoding: pengodean 16-bit.
- Utf8TextEncoding: pengodean 8-bit.

Defaultnya adalah Utf8TextEncoding.

Atribut ini berjenis Encoding.
transactionFlow Nilai Boolean yang menentukan apakah pengikatan mendukung WS-Transactions yang mengalir. Defaultnya adalah false.
useDefaultWebProxy Nilai Boolean yang menentukan apakah proksi HTTP yang dikonfigurasi otomatis sistem digunakan. Defaultnya adalah true.

Elemen Anak

Elemen Deskripsi
<security> Menentukan pengaturan keamanan untuk pengikatan. Elemen ini berjenis WSHttpSecurityElement.
<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

WSHttpBinding mirip dengan BasicHttpBinding tetapi menyediakan lebih banyak fitur layanan Web. Ini menggunakan transportasi HTTP dan menyediakan keamanan pesan, seperti halnya BasicHttpBinding, tetapi juga menyediakan transaksi, pesan yang andal, dan WS-Addressing, baik diaktifkan secara default atau tersedia melalui satu pengaturan kontrol.

Contoh

<configuration>
  <system.ServiceModel>
    <bindings>
      <wsHttpBinding>
        <binding closeTimeout="00:00:10"
                 openTimeout="00:00:20"
                 receiveTimeout="00:00:30"
                 sendTimeout="00:00:40"
                 bypassProxyOnLocal="false"
                 transactionFlow="false"
                 hostNameComparisonMode="WeakWildcard"
                 maxReceivedMessageSize="1000"
                 messageEncoding="Mtom"
                 proxyAddress="http://foo/bar"
                 textEncoding="utf-16"
                 useDefaultWebProxy="false">
          <reliableSession ordered="false"
                           inactivityTimeout="00:02:00"
                           enabled="true" />
          <security mode="Transport">
            <transport clientCredentialType="Digest"
                       proxyCredentialType="None"
                       realm="someRealm" />
            <message clientCredentialType="Windows"
                     negotiateServiceCredential="false"
                     algorithmSuite="Aes128"
                     defaultProtectionLevel="None" />
          </security>
        </binding>
      </wsHttpBinding>
    </bindings>
  </system.ServiceModel>
</configuration>

Lihat juga