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, gunakan WsCreateChannelForListener untuk 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 menggunakan saluran, Anda harus membukanya dengan memanggil fungsi WsOpenChannel , dan menentukan alamat saluran dan titik akhir, bersama dengan informasi opsional lainnya.

Untuk informasi tentang transisi status untuk saluran, lihat topik Status Saluran .

Untuk informasi selengkapnya tentang saluran, lihat topik Gambaran Umum Lapisan Saluran .

Elemen API berikut digunakan dengan saluran.

Panggilan Balik Deskripsi
WS_ABANDON_MESSAGE_CALLBACK Menangani panggilan WsAbandonMessage untuk saluran dengan pengikatan saluran kustom.
WS_ABORT_CHANNEL_CALLBACK Menangani panggilan WsAbortChannel untuk saluran dengan pengikatan saluran kustom.
WS_CLOSE_CHANNEL_CALLBACK Menangani panggilan WsCloseChannel untuk saluran dengan pengikatan saluran kustom.
WS_CREATE_CHANNEL_CALLBACK Menangani panggilan WsCloseChannel untuk 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 panggilan WsFreeChannel untuk 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 panggilan WsGetChannelProperty untuk saluran dengan pengikatan saluran kustom.
WS_HTTP_REDIRECT_CALLBACK Dipanggil ketika pesan akan secara otomatis dialihkan ke layanan lain menggunakan fungsionalitas pengalihan otomatis HTTP seperti yang dijelaskan dalam RFC2616.
WS_OPEN_CHANNEL_CALLBACK Menangani panggilan WsOpenChannel untuk saluran dengan pengikatan saluran kustom.
WS_READ_MESSAGE_END_CALLBACK Menangani panggilan WsReadMessageEnd untuk saluran dengan pengikatan saluran kustom.
WS_READ_MESSAGE_START_CALLBACK Menangani panggilan WsReadMessageEnd untuk saluran dengan pengikatan saluran kustom.
WS_RESET_CHANNEL_CALLBACK Menangani panggilan WsResetChannel untuk saluran dengan pengikatan saluran kustom.
WS_SET_CHANNEL_PROPERTY_CALLBACK Menangani panggilan WsSetChannelProperty untuk saluran dengan pengikatan saluran kustom.
WS_SHUTDOWN_SESSION_CHANNEL_CALLBACK Menangani panggilan WsShutdownSessionChannel 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 panggilan WsWriteMessageStart untuk saluran dengan pengikatan saluran kustom.

 

Enumeration 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.

 

Handle 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 Sekumpulan 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.