Bagikan melalui


CommunicationState Enum

Definisi

Menentukan status di mana ICommunicationObject dapat ada.

public enum class CommunicationState
public enum CommunicationState
type CommunicationState = 
Public Enum CommunicationState
Warisan
CommunicationState

Bidang

Nama Nilai Deskripsi
Created 0

Menunjukkan bahwa objek komunikasi telah dibuat dan dapat dikonfigurasi, tetapi belum terbuka atau siap digunakan.

Opening 1

Menunjukkan bahwa objek komunikasi sedang ditransisikan dari status Created ke Opened status .

Opened 2

Menunjukkan bahwa objek komunikasi sekarang terbuka dan siap digunakan.

Closing 3

Menunjukkan bahwa objek komunikasi sedang beralih ke status Closed .

Closed 4

Menunjukkan bahwa objek komunikasi telah ditutup dan tidak lagi dapat digunakan.

Faulted 5

Menunjukkan bahwa objek komunikasi telah mengalami kesalahan atau kesalahan yang tidak dapat dipulihkan dan dari mana objek komunikasi tidak lagi dapat digunakan.

Keterangan

Enumerasi ini mendefinisikan status yang valid untuk semua objek komunikasi dalam sistem, termasuk saluran, pendengar, pabrik, dispatcher, dan host layanan.

Metode yang mengelola transisi antara status ini dan peristiwa yang dapat dikaitkan dengannya ditentukan dalam ICommunicationObject antarmuka. Status objek dapat diperoleh menggunakan State properti .

Ada empat status utama dan dua status sementara yang dapat ditempati objek komunikasi. Status utamanya adalah:

  • Telah dibuat

  • Dibuka

  • Tertutup

  • Kesalahan

Dua status transitori yang dapat ditempati objek komunikasi saat transisi antara status utama ini adalah:

  • Pembukaan

  • Penutupan

Objek komunikasi dapat dikonfigurasi dalam status Dibuat. Misalnya, propertinya dapat diubah, dan peristiwanya dapat didaftarkan. Tidak ada input atau output yang dapat terjadi dalam status ini. Jadi pesan, misalnya, tidak dapat dikirim atau diterima dari saluran dalam status ini.

Pembukaan adalah status sementara yang dimasukkan objek komunikasi ketika Open metode dipanggil. Kecuali dinyatakan lain pada kelas turunan, objek dalam status pembukaan tidak dapat dikonfigurasi. Status transisi ini hanya dapat dimasukkan dari status Dibuat.

Transisi objek ke status Dibuka saat proses terbuka selesai. Transisi ke status Dibuka ini hanya valid dari status Pembukaan. Kecuali dinyatakan lain pada kelas turunan, konfigurasi objek sekarang dinonaktifkan. Pada titik ini, objek sepenuhnya dapat digunakan untuk transfer pesan.

Penutupan adalah status sementara yang dimasukkan objek ketika Close metode dipanggil untuk pematian yang anggun atau objek dibatalkan. Pada titik ini, objek menjadi (jika belum) tidak dapat digunakan. Transisi ini berlaku dari status apa pun kecuali status Tertutup.

Status Tertutup setara dengan yang dibuang dan konfigurasi objek masih dapat diperiksa.

Status Rusak digunakan untuk menunjukkan bahwa objek telah beralih ke status di mana objek tidak dapat lagi digunakan. Ada dua skenario utama di mana hal ini dapat terjadi:

  • Open Jika metode gagal karena alasan apa pun, objek beralih ke status rusak.

  • Jika saluran berbasis sesi mendeteksi kesalahan yang tidak dapat dipulihkan, saluran tersebut beralih ke status rusak. Ini dapat terjadi misalnya jika ada kesalahan protokol (yaitu, ia menerima pesan protokol pada waktu yang tidak valid) atau jika titik akhir jarak jauh membatalkan sesi.

Objek dalam status Rusak tidak ditutup dan mungkin menyimpan sumber daya. Metode Abort harus digunakan untuk menutup objek yang telah rusak. Jika Close dipanggil pada objek dalam status Rusak, dilemparkan CommunicationObjectFaultedException karena objek tidak dapat ditutup dengan baik.

Berlaku untuk