<basicHttpBinding>
Merupakan pengikatan yang dapat digunakan oleh layanan Windows Communication Foundation (WCF) untuk mengonfigurasi dan mengekspos titik akhir yang dapat berkomunikasi dengan layanan dan klien Web berbasis ASMX serta layanan lain yang sesuai dengan Profil Dasar WS-I 1.1.
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding>
Sintaks
<basicHttpBinding>
<binding allowCookies="Boolean"
bypassProxyOnLocal="Boolean"
closeTimeout="TimeSpan"
hostNameComparisonMode="StrongWildCard/Exact/WeakWildcard"
maxBufferPoolSize="Integer"
maxBufferSize="Integer"
maxReceivedMessageSize="Integer"
messageEncoding="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>
</basicHttpBinding>
Atribut dan Elemen
Bagian berikut menjelaskan atribut, elemen turunan, 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 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 ada di komputer yang sama, LAN lokal atau intranet dan diidentifikasi, secara sintaksis, dengan tidak adanya titik (.) seperti pada 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 akan menggunakan server proksi. Gunakan nama host (bukan localhost) jika Anda ingin klien melalui proksi saat berbicara dengan layanan di komputer yang sama saat atribut ini diatur ke true .Jika atribut ini adalah false , semua permintaan Internet dilakukan melalui server proksi. |
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 |
Nilai bilangan bulat yang menentukan jumlah maksimum memori yang dialokasikan untuk digunakan oleh manajer buffer pesan yang menerima pesan dari saluran. Nilai default-nya adalah 524288 (0x80000) byte. Pengelola Buffer meminimalkan biaya penggunaan buffer dengan menggunakan kumpulan buffer. Buffer diperlukan untuk memproses pesan oleh layanan ketika mereka keluar dari saluran. Jika tidak ada cukup memori di kumpulan buffer untuk memproses pemuatan pesan, Pengelola Buffer harus mengalokasikan memori tambahan dari tumpukan CLR, yang meningkatkan overhead pengumpulan sampah. Alokasi ekstensif dari tumpukan sampah CLR merupakan indikasi bahwa ukuran kumpulan buffer terlalu kecil dan performa 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 acara di log pelacakan. Defaultnya adalah 65.536 byte. |
messageEncoding |
Mendefinisikan encoder yang digunakan untuk mengkodekan pesan SOAP. Nilai yang valid mencakup hal-hal berikut: - 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 di antara pengikatan dari jenis yang sama. 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 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 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. |
textEncoding |
Mengatur pengkodean 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. |
transferMode |
Nilai TransferMode valid yang menentukan apakah pesan di-buffer atau dialirkan pada permintaan atau respons. |
useDefaultWebProxy |
Nilai Boolean yang menentukan apakah proksi HTTP yang dikonfigurasi secara otomatis dari sistem harus digunakan, jika tersedia. Defaultnya adalah true . |
Elemen Anak
Elemen | Deskripsi |
---|---|
<security> | Menentukan pengaturan keamanan untuk pengikatan. Elemen ini berjenis BasicHttpSecurityElement. |
<readerQuotas> | Mendefinisikan batasan pada kompleksitas pesan SOAP yang dapat diproses oleh titik akhir yang dikonfigurasi dengan pengikatan ini. Elemen ini berjenis XmlDictionaryReaderQuotasElement. |
Elemen Induk
Elemen | Deskripsi |
---|---|
<bindings> | Elemen ini menyimpan koleksi pengikatan standar dan kustom. |
Keterangan
BasicHttpBinding menggunakan HTTP sebagai transportasi untuk mengirim pesan SOAP 1.1. Layanan dapat menggunakan pengikatan ini untuk mengekspos titik akhir yang sesuai dengan WS-I BP 1.1, seperti yang dikonsumsi klien ASMX. Demikian pula, klien dapat menggunakan BasicHttpBinding untuk berkomunikasi dengan layanan yang mengekspos titik akhir yang sesuai dengan WS-I BP 1.1, seperti layanan Web ASMX atau layanan yang dikonfigurasi dengan BasicHttpBinding.
Keamanan dinonaktifkan secara default, tetapi dapat ditambahkan dengan mengatur atribut elemen turunan <security> ke nilai selain None
. Ini menggunakan pengodean pesan "Teks" dan pengodean teks UTF-8 secara default.
Contoh 1
Contoh berikut menunjukkan penggunaan BasicHttpBinding 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 atribut binding
dari elemen <endpoint>
. Jika Anda ingin mengonfigurasi pengikatan dasar dan mengubah beberapa pengaturannya, perlu untuk menentukan konfigurasi pengikatan. Titik akhir harus mengacu konfigurasi pengikatan berdasarkan nama dengan menggunakan atribut bindingConfiguration
dari elemen <endpoint>
, seperti yang ditunjukkan dalam kode konfigurasi berikut untuk layanan.
<system.serviceModel>
<services>
<service type="Microsoft.ServiceModel.Samples.CalculatorService"
behaviorConfiguration="CalculatorServiceBehavior">
<endpoint address=""
binding="basicHttpBinding"
bindingConfiguration="Binding1"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
</service>
</services>
<bindings>
<basicHttpBinding>
<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="Text"
textEncoding="utf-8"
bypassProxyOnLocal="false"
useDefaultWebProxy="true">
<security mode="None" />
</binding>
</basicHttpBinding>
</bindings>
</system.serviceModel>
Contoh 2
Dimulai dengan .NET Framework 4, pengikatan dan perilaku tidak perlu memiliki nama. Fungsionalitas dari contoh sebelumnya dapat dicapai dengan menghapus bindingConfiguration dari alamat titik akhir dan nama dari pengikatan.
<system.serviceModel>
<services>
<service type="Microsoft.ServiceModel.Samples.CalculatorService"
behaviorConfiguration="CalculatorServiceBehavior">
<endpoint address=""
binding="basicHttpBinding"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
</service>
</services>
<bindings>
<basicHttpBinding>
<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="Text"
textEncoding="utf-8"
bypassProxyOnLocal="false"
useDefaultWebProxy="true">
<security mode="None" />
</binding>
</basicHttpBinding>
</bindings>
</system.serviceModel>
Untuk informasi selengkapnya tentang konfigurasi default dan pengikatan serta perilaku tanpa nama, lihat Konfigurasi yang Disederhanakan dan Konfigurasi yang Disederhanakan untuk Layanan WCF.
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk