Saluran (Windows Web Services)
Saluran merangkum konteks komunikasi antara dua pihak atau lebih dan digunakan untuk mengirim dan menerima pesan.
Pada klien, gunakan WsCreateChannel untuk membuat saluran. Di server, gunakanWsCreateChannelForListeneruntuk membuat saluran yang dapat diterima oleh klien menggunakan pendengar .
Saat membuat saluran, Anda menentukan informasi berikut, yang menentukan perilaku lokal saluran dan protokol kawat yang akan digunakan.
- WS_CHANNEL_TYPE, yang mengidentifikasi pola pertukaran pesan saluran.
- WS_CHANNEL_BINDING, yang mengidentifikasi protokol transfer yang akan digunakan.
- WS_SECURITY_DESCRIPTION, yang menentukan keamanan yang digunakan untuk saluran. Saat membuat saluran untuk digunakan di server, ini ditentukan sekali untuk semua saluran yang akan diterima untuk pendengar tertentu.
- Set WS_CHANNEL_PROPERTY, yang menentukan pengaturan opsional tambahan (untuk daftar pengaturan ini, lihat enumerasi WS_CHANNEL_PROPERTY_ID).
Sebelum Anda menggunakan saluran, Anda harus membukanya dengan memanggil fungsi WsOpenChannel, dan menentukan saluran dan alamat titik akhir , bersama dengan informasi opsional lainnya.
Untuk informasi tentang transisi status untuk saluran, lihat Status Saluran topik.
Untuk informasi selengkapnya tentang saluran, lihat topik Gambaran Umum Lapisan Saluran.
Elemen API berikut digunakan dengan saluran.
Callback | Deskripsi |
---|---|
WS_ABANDON_MESSAGE_CALLBACK | Menangani panggilan WsAbandonMessage untuk saluran dengan pengikatan saluran kustom. |
WS_ABORT_CHANNEL_CALLBACK | Menangani panggilanWsAbortChanneluntuk saluran dengan pengikatan saluran kustom. |
WS_CLOSE_CHANNEL_CALLBACK | Menangani panggilanWsCloseChanneluntuk saluran dengan pengikatan saluran kustom. |
WS_CREATE_CHANNEL_CALLBACK | Menangani panggilanWsCloseChanneluntuk saluran dengan pengikatan saluran kustom. |
WS_CREATE_DECODER_CALLBACK | Menangani pembuatan instans dekoder. |
WS_CREATE_ENCODER_CALLBACK | Menangani pembuatan instans encoder. |
WS_DECODER_DECODE_CALLBACK | Mendekode pesan. |
WS_DECODER_END_CALLBACK | Mendekode akhir pesan. |
WS_DECODER_GET_CONTENT_TYPE_CALLBACK | Mendapatkan tipe isi pesan. |
WS_DECODER_START_CALLBACK | Mulai mendekode pesan. |
WS_ENCODER_ENCODE_CALLBACK | Mengodekan pesan. |
WS_ENCODER_END_CALLBACK | Mengodekan akhir pesan. |
WS_ENCODER_GET_CONTENT_TYPE_CALLBACK | Mendapatkan tipe isi pesan. |
WS_ENCODER_START_CALLBACK | Mulai mengodekan pesan. |
WS_FREE_CHANNEL_CALLBACK | Menangani panggilanWsFreeChanneluntuk saluran dengan pengikatan saluran kustom. |
WS_FREE_DECODER_CALLBACK | Menangani membebaskan instans dekoder. |
WS_FREE_ENCODER_CALLBACK | Menangani membebaskan instans encoder. |
WS_GET_CHANNEL_PROPERTY_CALLBACK | Menangani panggilanWsGetChannelProperty untuk saluran dengan pengikatan saluran kustom. |
WS_HTTP_REDIRECT_CALLBACK | Dipanggil ketika pesan akan secara otomatis dialihkan ke layanan lain yang menggunakan fungsi pengalihan otomatis HTTP seperti yang dijelaskan dalam RFC2616. |
WS_OPEN_CHANNEL_CALLBACK | Menangani panggilanWsOpenChanneluntuk saluran dengan pengikatan saluran kustom. |
WS_READ_MESSAGE_END_CALLBACK | Menangani panggilanWsReadMessageEnduntuk saluran dengan pengikatan saluran kustom. |
WS_READ_MESSAGE_START_CALLBACK | Menangani panggilanWsReadMessageEnduntuk saluran dengan pengikatan saluran kustom. |
WS_RESET_CHANNEL_CALLBACK | Menangani panggilanWsResetChannel untuk saluran dengan pengikatan saluran kustom. |
WS_SET_CHANNEL_PROPERTY_CALLBACK | Menangani panggilanWsSetChannelProperty untuk saluran dengan pengikatan saluran kustom. |
WS_SHUTDOWN_SESSION_CHANNEL_CALLBACK | Menangani panggilanWsShutdownSessionChannel untuk saluran dengan pengikatan saluran kustom. |
WS_WRITE_MESSAGE_END_CALLBACK | Menangani panggilan WsWriteMessageEnd untuk saluran dengan pengikatan saluran kustom. |
WS_WRITE_MESSAGE_START_CALLBACK | Menangani panggilanWsWriteMessageStartuntuk saluran dengan pengikatan saluran kustom. |
Enumerasi | Deskripsi |
---|---|
WS_CHANNEL_BINDING | Menunjukkan tumpukan protokol yang akan digunakan untuk saluran. |
WS_CHANNEL_PROPERTY_ID | Mengidentifikasi setiap properti saluran dengan ID. |
WS_CHANNEL_STATE | Status saluran. |
WS_CHANNEL_TYPE | Menunjukkan karakteristik dasar saluran, seperti apakah itu sesi, dan arah komunikasi apa yang didukung. |
WS_ENCODING | Pengodean yang berbeda (format pesan). |
WS_RECEIVE_OPTION | Menentukan apakah pesan diperlukan saat menerima dari saluran. |
WS_TRANSFER_MODE | Menentukan apakah pesan yang dikirim atau diterima dialirkan atau di-buffer. |
Fungsi | Deskripsi |
---|---|
WsAbandonMessage | Melewati sisa pesan untuk saluran. |
WsAbortChannel | Membatalkan semua I/O yang tertunda pada saluran tertentu dan mengatur status saluran ke WS_CHANNEL_STATE_FAULTED. |
WsCloseChannel | Menutup saluran ketika tidak lagi diperlukan. |
WsCreateChannel | Membuat saluran. |
WsCreateChannelForListener | Membuat saluran untuk pendengar. |
WsFreeChannel | Merilis sumber daya memori yang terkait dengan saluran. |
WsGetChannelProperty | Mengambil properti Saluran yang dirujuk oleh parameter saluran. |
WsOpenChannel | Membuka saluran ke titik akhir. |
WsReadMessageEnd | Membaca elemen penutup pesan dari saluran. |
WsReadMessageStart | Membaca header pesan berikutnya dari saluran dan bersiap untuk membaca elemen isi. |
WsReceiveMessage | Menerima pesan dan mendeserialisasi isi pesan sebagai nilai. |
WsRequestReply | Mengirim pesan permintaan dan menerima pesan balasan yang berkorelasi. |
WsResetChannel | Atur ulang saluran sehingga dapat digunakan kembali. |
WsSendMessage | Mengirim pesan pada saluran menggunakan serialisasi untuk menulis elemen isi. |
WsSendReplyMessage | Mengirim pesan yang merupakan balasan ke pesan yang diterima. |
WsSetChannelProperty | Mengatur properti saluran. |
WsSetMessageProperty | Mengatur properti pesan. |
WsWriteMessageEnd | Menulis elemen penutup pesan ke saluran. |
WsWriteMessageStart | Tulis header pesan ke saluran dan bersiap untuk menulis elemen isi. |
Menangani | Deskripsi |
---|---|
WS_CHANNEL | Jenis buram yang digunakan untuk mereferensikan saluran. |
Struktur | Deskripsi |
---|---|
WS_CHANNEL_DECODER | Sekumpulan panggilan balik yang mengubah jenis konten dan byte yang dikodekan dari pesan yang diterima. |
WS_CHANNEL_ENCODER | Sekumpulan panggilan balik yang dapat mengubah jenis konten dan byte yang dikodekan dari pesan terkirim. |
WS_CHANNEL_PROPERTIES | Satu set struktur WS_CHANNEL_PROPERTY. |
WS_CHANNEL_PROPERTY | Pengaturan khusus saluran. |
WS_CUSTOM_CHANNEL_CALLBACKS | Serangkaian panggilan balik yang membentuk implementasi saluran kustom. |
WS_CUSTOM_HTTP_PROXY | digunakan untuk menentukan proksi kustom untuk saluran, menggunakan nilai WS_CHANNEL_PROPERTY_CUSTOM_HTTP_PROXY enumerasi WS_CHANNEL_PROPERTY_ID. |
WS_HTTP_HEADER_MAPPING | Mewakili header individual yang dipetakan sebagai bagian dari WS_HTTP_MESSAGE_MAPPING. |
WS_HTTP_MESSAGE_MAPPING | Informasi tentang bagaimana permintaan atau respons HTTP harus diwakili dalam objek pesan. |
WS_HTTP_REDIRECT_CALLBACK_CONTEXT | Menentukan fungsi dan status panggilan balik untuk mengontrol perilaku pengalihan otomatis HTTP. |
WS_MESSAGE_DESCRIPTION | Skema untuk input dan output WS_MESSAGE untuk deskripsi operasi tertentu. |