Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Mewakili pengikatan yang dapat digunakan layanan Windows Communication Foundation (WCF) untuk mengonfigurasi dan mengekspos titik akhir yang dapat berkomunikasi melalui HTTP. Ketika digunakan dengan kontrak dupleks, Web Sockets akan digunakan, jika tidak, HTTP akan digunakan.
<configuration>
<system.serviceModel>
<bindings>
<netHttpBinding>
Syntax
<netHttpBinding>
<binding allowCookies="Boolean"
bypassProxyOnLocal="Boolean"
closeTimeout="TimeSpan"
hostNameComparisonMode="StrongWildCard/Exact/WeakWildcard"
maxBufferPoolSize="Integer"
maxBufferSize="Integer"
maxReceivedMessageSize="Integer"
messageEncoding="Binary/Text/Mtom"
name="String"
openTimeout="TimeSpan"
proxyAddress="URI"
receiveTimeout="TimeSpan"
sendTimeout="TimeSpan"
textEncoding="UnicodeFffeTextEncoding/Utf16TextEncoding/Utf8TextEncoding"
transferMode="Buffered/Streamed/StreamedRequest/StreamedResponse"
useDefaultWebProxy="Boolean">
<security mode="None/Transport/Message/TransportWithMessageCredential/TransportCredentialOnly">
<transport clientCredentialType="None/Basic/Digest/Ntlm/Windows/Certificate"
proxyCredentialType="None/Basic/Digest/Ntlm/Windows"
realm="string" />
<message algorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15"
clientCredentialType="UserName/Certificate" />
</security>
<readerQuotas maxArrayLength="Integer"
maxBytesPerRead="Integer"
maxDepth="Integer"
maxNameTableCharCount="Integer"
maxStringContentLength="Integer" />
</binding>
</netHttpBinding>
Tipe
Type
Atribut dan Elemen
Bagian berikut menjelaskan atribut, elemen turunan, dan elemen induk.
Attributes
| Attribute | Description |
|---|---|
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 dapat 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.Sumber daya Internet bersifat lokal jika memiliki alamat lokal. Alamat lokal adalah alamat yang berada di komputer yang sama, LAN lokal atau intranet dan diidentifikasi, secara sintis, oleh kurangnya periode (.) seperti dalam URI http://webserver/ dan http://localhost/.Mengatur atribut ini menentukan apakah titik akhir yang dikonfigurasi dengan BasicHttpBinding menggunakan server proksi saat mengakses sumber daya lokal. Jika atribut ini adalah true, permintaan ke sumber daya Internet lokal tidak menggunakan server proksi. Gunakan nama host (bukan localhost) jika Anda ingin klien melalui proksi saat berbicara dengan layanan pada komputer yang sama ketika atribut ini diatur ke true.Ketika atribut ini adalah false, semua permintaan Internet dibuat melalui server proksi. |
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 |
Nilai bilangan bulat yang menentukan jumlah maksimum memori yang dialokasikan untuk digunakan oleh manajer buffer pesan yang menerima pesan dari saluran. Nilai defaultnya adalah byte 524288 (0x80000). Buffer Manager meminimalkan biaya penggunaan buffer dengan menggunakan kumpulan buffer. Buffer diperlukan untuk memproses pesan oleh layanan ketika mereka keluar dari saluran. Jika tidak ada memori yang cukup di kumpulan buffer untuk memproses beban pesan, Manajer Buffer harus mengalokasikan memori tambahan dari tumpukan CLR, yang meningkatkan overhead pengumpulan sampah. Alokasi ekstensif dari tumpukan sampah CLR adalah indikasi bahwa ukuran kumpulan buffer terlalu kecil dan performa tersebut dapat ditingkatkan dengan alokasi yang lebih besar dengan meningkatkan batas yang ditentukan oleh atribut ini. |
maxBufferSize |
Nilai bilangan bulat yang menentukan ukuran maksimum, dalam byte, dari buffer yang menyimpan pesan saat diproses untuk titik akhir yang dikonfigurasi dengan pengikatan ini. Nilai defaultnya adalah 65,536 byte. |
maxReceivedMessageSize |
Bilangan bulat positif yang menentukan ukuran pesan maksimum, dalam byte, termasuk header, untuk pesan yang dapat diterima pada saluran yang dikonfigurasi dengan pengikatan ini. Pengirim menerima kesalahan SOAP jika pesan terlalu besar untuk penerima. Penerima menghilangkan pesan dan membuat entri peristiwa di log jejak. Defaultnya adalah 65.536 byte. |
messageEncoding |
Menentukan encoder yang digunakan untuk mengodekan pesan SOAP. Nilai yang valid mencakup yang berikut ini: - Teks: Gunakan encoder pesan teks. - Mtom: Gunakan encoder Message Transmission Organization Mechanism 1.0 (MTOM). Standarnya adalah Teks. Atribut ini berjenis WSMessageEncoding. |
name |
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. |
proxyAddress |
URI yang berisi alamat proksi HTTP. Jika useSystemWebProxy diatur ke true, pengaturan ini harus null. Defaultnya adalah null. |
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. |
textEncoding |
Mengatur pengodean set karakter yang akan digunakan untuk memancarkan pesan pada pengikatan. Nilai yang valid mencakup yang berikut ini: - BigEndianUnicode: Pengodean Unicode BigEndian. - Unicode: Pengodean 16-bit. - UTF8: Pengodean 8-bit Defaultnya adalah UTF8. Atribut ini berjenis Encoding. |
transferMode |
Nilai valid TransferMode yang menentukan apakah pesan di-buffer atau dialirkan pada permintaan atau respons. |
useDefaultWebProxy |
Nilai Boolean yang menentukan apakah proksi HTTP yang dikonfigurasi otomatis dari sistem harus digunakan, jika tersedia. Defaultnya adalah true. |
Elemen Anak
| Elemen | Description |
|---|---|
| <keamanan> | Menentukan pengaturan keamanan untuk pengikatan. Elemen ini berjenis BasicHttpSecurityElement. |
| <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
NetHttpBinding menggunakan HTTP sebagai transportasi untuk mengirim pesan. Ketika digunakan dengan kontrak dupleks, Web Sockets akan digunakan. Saat digunakan dengan kontrak balasan permintaan NetHttpBinding akan berperilaku seperti BasicHttpBinding dengan encoder biner.
Keamanan dinonaktifkan secara default, tetapi dapat ditambahkan mengatur atribut <mode elemen anak keamanan> ke nilai selain None. Ini menggunakan pengodean pesan "Teks" dan pengodean teks UTF-8 secara default.
Contoh 1
Contoh berikut menunjukkan penggunaan NetHttpBinding yang menyediakan komunikasi HTTP dan interoperabilitas maksimum dengan layanan Web generasi pertama dan kedua. Pengikatan ditentukan dalam file konfigurasi untuk klien dan layanan. Jenis pengikatan ditentukan menggunakan binding atribut <endpoint> elemen . Jika Anda ingin mengonfigurasi pengikatan dasar dan mengubah beberapa pengaturannya, perlu untuk menentukan konfigurasi pengikatan. Titik akhir harus mereferensikan konfigurasi pengikatan berdasarkan nama dengan menggunakan bindingConfiguration atribut <endpoint> elemen , seperti yang ditunjukkan dalam kode konfigurasi berikut untuk layanan.
<system.serviceModel>
<services>
<service type="Microsoft.ServiceModel.Samples.CalculatorService"
behaviorConfiguration="CalculatorServiceBehavior">
<endpoint address=""
binding="netHttpBinding"
bindingConfiguration="Binding1"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
</service>
</services>
<bindings>
<netHttpBinding>
<binding name="Binding1"
hostNameComparisonMode="StrongWildcard"
receiveTimeout="00:10:00"
sendTimeout="00:10:00"
openTimeout="00:10:00"
closeTimeout="00:10:00"
maxReceivedMessageSize="65536"
maxBufferSize="65536"
maxBufferPoolSize="524288"
transferMode="Buffered"
messageEncoding="Binary"
textEncoding="utf-8"
bypassProxyOnLocal="false"
useDefaultWebProxy="true">
<security mode="None" />
</binding>
</netHttpBinding>
</bindings>
</system.serviceModel>
Contoh 2
Dimulai dengan .NET Framework 4, pengikatan dan perilaku tidak diperlukan untuk memiliki nama. Fungsionalitas dari contoh sebelumnya dapat dicapai dengan menghapus pengikatanConfiguration dari alamat titik akhir dan nama dari pengikatan.
<system.serviceModel>
<services>
<service type="Microsoft.ServiceModel.Samples.CalculatorService"
behaviorConfiguration="CalculatorServiceBehavior">
<endpoint address=""
binding="netHttpBinding"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
</service>
</services>
<bindings>
<netHttpBinding>
<binding hostNameComparisonMode="StrongWildcard"
receiveTimeout="00:10:00"
sendTimeout="00:10:00"
openTimeout="00:10:00"
closeTimeout="00:10:00"
maxReceivedMessageSize="65536"
maxBufferSize="65536"
maxBufferPoolSize="524288"
transferMode="Buffered"
messageEncoding="Binary"
textEncoding="utf-8"
bypassProxyOnLocal="false"
useDefaultWebProxy="true">
<security mode="None" />
</binding>
</netHttpBinding>
</bindings>
</system.serviceModel>
Untuk informasi selengkapnya tentang konfigurasi default dan pengikatan dan perilaku tanpa nama, lihat Konfigurasi Yang Disederhanakan dan Konfigurasi Yang Disederhanakan untuk Layanan WCF.