Pengikatan yang disediakan sistem

Pengikatan menentukan mekanisme komunikasi yang akan digunakan saat berbicara dengan titik akhir dan menunjukkan cara tersambung ke titik akhir. Pengikatan berisi elemen-elemen berikut:

  • Tumpukan protokol menentukan pengaturan keamanan, keandalan, dan alur konteks yang akan digunakan untuk pesan yang dikirim ke titik akhir.

  • Transportasi menentukan protokol transportasi dasar yang akan digunakan saat mengirim pesan ke titik akhir, misalnya, TCP atau HTTP.

  • Encoding menentukan encoding kawat untuk digunakan untuk pesan yang dikirim ke titik akhir. Misalnya, teks/XML, biner, atau Message Transmission Optimization Mechanism (MTOM).

Artikel ini menyajikan semua pengikatan Windows Communication Foundation (WCF) yang disediakan sistem. Jika tidak ada pengikatan ini yang memenuhi kriteria yang tepat untuk aplikasi Anda, Anda dapat membuat pengikatan kustom. Untuk mengetahui informasi selengkapnya tentang cara membuat pengikatan kustom, lihat Pengikatan Kustom.

Pengikatan yang aman dan dapat dioperasikan yang mendukung protokol WS-Federation memungkinkan organisasi yang berada dalam federasi untuk mengautentikasi dan mengotorisasi pengguna secara efisien.

Penting

Selalu pilih pengikatan yang menyertakan keamanan. Secara default, semua pengikatan kecuali elemen <basicHttpBinding> memiliki dukungan keamanan. Jika Anda tidak memilih pengikatan yang aman atau menonaktifkan keamanan, pastikan untuk melindungi data Anda dengan cara lain, seperti menyimpan di pusat data yang aman atau di jaringan yang terisolasi.

Penting

Jangan pernah menggunakan kontrak dupleks dengan binding yang tidak mendukung keamanan atau yang memiliki keamanan dinonaktifkan kecuali Anda mengamankan data dengan cara lain.

Pengikatan berikut dikirimkan dengan WCF:

Pengikatan Elemen Konfigurasi Deskripsi
BasicHttpBinding <basicHttpBinding> Pengikatan yang cocok untuk berkomunikasi dengan layanan Web yang sesuai dengan WS-Basic Profile, misalnya, layanan berbasis layanan Web (ASMX) ASP.NET. Pengikatan ini menggunakan HTTP sebagai transportasi dan teks/XML sebagai encoding pesan default.
WSHttpBinding <wsHttpBinding> Pengikatan yang aman dan dapat dioperasikan yang cocok untuk kontrak layanan non-dupleks.
WSDualHttpBinding <wsDualHttpBinding> Pengikatan yang aman dan dapat dioperasikan yang cocok untuk kontrak layanan dupleks atau komunikasi melalui perantara SOAP.
WSFederationHttpBinding <wsFederationHttpBinding> Pengikatan yang aman dan dapat dioperasikan yang mendukung protokol WS-Federation, yang memungkinkan organisasi yang berada dalam federasi untuk mengautentikasi dan mengotorisasi pengguna secara efisien.
NetHttpBinding <netHttpBinding> Pengikatan yang dirancang untuk mengonsumsi layanan HTTP atau WebSocket yang menggunakan encoding biner secara default.
NetHttpsBinding <netHttpsBinding> Pengikatan aman yang dirancang untuk mengonsumsi layanan HTTP atau WebSocket yang menggunakan encoding biner secara default.
NetTcpBinding <netTcpBinding> Pengikatan yang aman dan optimal yang cocok untuk komunikasi lintas komputer antara aplikasi WCF.
NetNamedPipeBinding <netNamedPipeBinding> Pengikatan yang aman, andal, dan optimal yang cocok untuk komunikasi di komputer antara aplikasi WCF.
NetMsmqBinding <netMsmqBinding> Pengikatan antrean yang cocok untuk komunikasi lintas komputer antara aplikasi WCF.
NetPeerTcpBinding <netPeerTcpBinding> Pengikatan yang memungkinkan komunikasi beberapa komputer yang aman.
MsmqIntegrationBinding <msmqIntegrationBinding> Pengikatan yang cocok untuk komunikasi lintas komputer antara aplikasi WCF dan aplikasi Message Queuing yang ada.
BasicHttpContextBinding <basicHttpContextBinding> Pengikatan yang cocok untuk berkomunikasi dengan layanan Web yang sesuai dengan Profil WS-Basic yang memungkinkan cookie HTTP digunakan untuk bertukar konteks.
NetTcpContextBinding <netTcpContextBinding> Pengikatan yang aman dan optimal yang cocok untuk komunikasi lintas komputer antara aplikasi WCF yang memungkinkan header SOAP digunakan untuk bertukar konteks.
WebHttpBinding <webHttpBinding> Pengikatan yang digunakan untuk mengonfigurasi titik akhir untuk layanan Web WCF yang diekspos melalui permintaan HTTP, bukan melalui pesan SOAP.
WSHttpContextBinding <wsHttpContextBinding> Pengikatan yang aman dan dapat dioperasikan yang cocok untuk kontrak layanan non-dupleks yang memungkinkan header SOAP digunakan untuk bertukar konteks.
UdpBinding <udpBinding> Pengikatan untuk digunakan saat mengirim rentetan pesan sederhana ke sejumlah besar klien secara bersamaan.

Tabel berikut menunjukkan fitur masing-masing pengikatan yang disediakan sistem. Pengikatan ditemukan di kolom tabel; fitur tercantum dalam baris dan dijelaskan dalam tabel kedua. Tabel berikut berisi kunci untuk singkatan pengikatan yang digunakan. Untuk memilih pengikatan, tentukan kolom yang memenuhi semua fitur baris yang dibutuhkan.

Pengikatan Interoperabilitas Keamanan (Default) Sesi
(Default)
Transaksi Duplex Encoding (Default) Streaming
(Default)
BasicHttpBinding Basic Profile 1.1 (Tidak Ada), Transportasi, Pesan, Campuran (Tidak Ada) (Tidak Ada) n/a Teks, (MTOM) Ya
(buffer)
WSHttpBinding WS Transportasi, (Pesan), Campuran (Tidak ada), Sesi Andal, Sesi Keamanan (Tidak Ada), Ya n/a (Teks), MTOM Tidak
WSDualHttpBinding WS (Pesan), Tidak Ada (Sesi Andal), Sesi Keamanan (Tidak Ada), Ya Ya (Teks), MTOM Tidak
WSFederationHttpBinding WS-Federation (Pesan), Campuran, Tidak Ada (Tidak ada), Sesi Andal, Sesi Keamanan (Tidak Ada), Ya Tidak (Teks), MTOM Tidak
NetHttpBinding .NET (Tidak ada), Transportasi, Pesan, TransportWithMessageCredential, TransportCredentialOnly Lihat catatan di bawah Tidak ada Lihat catatan di bawah (Biner), Teks, MTOM Ya (buffer)
NetHttpsBinding .NET (Transportasi), TransportWithMessageCredential Lihat catatan di bawah Tidak ada Lihat catatan di bawah (Biner), Teks, MTOM Ya
(buffer)
NetTcpBinding .NET (Transportasi), Pesan, Tidak Ada, Campuran (Transportasi), Sesi Andal, Sesi Keamanan (Tidak Ada), Ya Ya Biner Ya
(buffer)
NetNamedPipeBinding .NET (Transportasi), Tidak ada Tidak ada, (Transportasi) (Tidak Ada), Ya Ya Biner Ya
(buffer)
NetMsmqBinding .NET Pesan, (Transportasi), Tidak Ada (Tidak ada), Transportasi Tidak Ada, (Ya) Tidak Biner Tidak
NetPeerTcpBinding Rekan Kerja (Transportasi) (Tidak Ada) (Tidak Ada) Ya Tidak
MsmqIntegrationBinding MSMQ (Transportasi) (Tidak Ada) Tidak Ada, (Ya) n/a n/a Tidak
BasicHttpContextBinding Basic Profile 1.1 (Tidak Ada), Transportasi, Pesan, Campuran (Tidak Ada) (Tidak Ada) n/a Teks, (MTOM) Ya
(buffer)
NetTcpContextBinding .NET (Transportasi), Pesan, Tidak Ada, Campuran (Transportasi), Sesi Andal, Sesi Keamanan (Tidak Ada), Ya Ya Biner Ya
(buffer)
WSHttpContextBinding WS Transportasi, (Pesan), Campuran (Tidak ada), Sesi Andal, Sesi Keamanan (Tidak Ada), Ya n/a Teks, (MTOM) Tidak
UdpBinding

Catatan: Interoperabilitas dapat dicapai dengan menerapkan spesifikasi SOAP-over-UDP standar yang diterapkan pengikatan ini.
.NET (Tidak Ada) (Tidak Ada) (Tidak Ada) n/a (Teks) Tidak

Penting

NetHttpBinding adalah pengikatan yang dirancang untuk mengonsumsi layanan HTTP atau WebSocket dan menggunakan encoding biner secara default. NetHttpBinding mendeteksi apakah pengikatan digunakan dengan kontrak balasan permintaan atau kontrak dupleks dan mengubah perilakunya agar sesuai; pengikatan ini menggunakan HTTP untuk balasan permintaan dan WebSocket untuk dupleks. Perilaku ini dapat diambil alih menggunakan pengaturan pengikatan WebSocketTransportUsage: WhenDuplex - Ini adalah nilai default dan berperilaku seperti yang dijelaskan di atas. Tidak Pernah - Ini mencegah WebSockets digunakan. Mencoba menggunakan kontrak dupleks dengan pengaturan ini menghasilkan pengecualian. Selalu - Ini memaksa WebSockets untuk digunakan bahkan untuk kontrak balasan permintaan. NetHttpBinding mendukung sesi yang andal dalam mode HTTP dan mode WebSocket. Dalam WebSocket, sesi mode disediakan oleh transportasi.

Tabel berikut menjelaskan fitur yang ada dalam tabel sebelumnya.

Fitur Deskripsi
Jenis Interoperabilitas Menamai protokol atau teknologi yang digunakan untuk memastikan interoperasi dalam pengikatan.
Keamanan Menentukan cara saluran diamankan:
- Tidak ada: Pesan SOAP tidak diamankan dan klien tidak diautentikasi.
- Transportasi: Persyaratan keamanan terpenuhi di lapisan transportasi.
- Pesan: Persyaratan keamanan terpenuhi di lapisan pesan.
- Campuran: Klaim dibawa dalam pesan; persyaratan integritas dan kerahasiaan dipenuhi oleh lapisan transportasi.
Sesi Menentukan apakah pengikatan ini mendukung kontrak sesi.
Transaksi Menentukan apakah transaksi diaktifkan.
Duplex Menentukan apakah kontrak dupleks didukung. Perhatikan bahwa fitur ini memerlukan dukungan untuk Sesi dalam pengikatan.
Pengodean Menentukan format kawat pesan. Nilai yang diizinkan meliputi:
- Teks: misalnya UTF-8.
- Biner
Message Transmission Optimization Mechanism (MTOM): Metode untuk encoding elemen XML biner secara efisien dalam konteks amplop SOAP.
Streaming Menentukan apakah streaming didukung untuk pesan masuk dan keluar. Gunakan properti TransferMode pada pengikatan untuk mengatur nilai. Nilai yang diizinkan meliputi:
- Buffered: Pesan permintaan dan respons keduanya di-buffer.
- Streamed: Pesan permintaan dan respons keduanya dialirkan.
- StreamedRequest: Pesan permintaan dialirkan dan pesan respons di-buffer.
- StreamedResponse: Pesan permintaan di-buffer dan pesan respons dialirkan.

Lihat juga