CommunicationState Sabit listesi

Tanım

Bir öğesinin bulunabileceği durumları ICommunicationObject tanımlar.

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

Alanlar

Closed 4

İletişim nesnesinin kapatıldığını ve artık kullanılamadığını gösterir.

Closing 3

İletişim nesnesinin duruma geçtiğini Closed gösterir.

Created 0

İletişim nesnesinin başlatıldığını ve yapılandırılabilir olduğunu, ancak henüz açık olmadığını veya kullanıma hazır olmadığını gösterir.

Faulted 5

İletişim nesnesinin kurtaramadığı ve artık kullanılamadığı bir hata veya hatayla karşılaştığını gösterir.

Opened 2

İletişim nesnesinin artık açık ve kullanılmaya hazır olduğunu gösterir.

Opening 1

İletişim nesnesinin durumdan Created duruma Opened geçirildiğini gösterir.

Açıklamalar

Bu numaralandırma kanallar, dinleyiciler, fabrikalar, dağıtıcılar ve hizmet konakları dahil olmak üzere sistemdeki tüm iletişim nesneleri için geçerli olan durumları tanımlar.

Bu durumlar ve bunlarla ilişkilendirilebilen olaylar arasındaki geçişleri yöneten yöntemler arabirimde ICommunicationObject tanımlanır. Bir nesnenin durumu özelliği kullanılarak State elde edilebilir.

İletişim nesnesinin kaplayabileceğiniz dört ana durum ve iki geçici durum vardır. Ana durumlar şunlardır:

  • Oluşturulan

  • Açıldı

  • Kapatıldı

  • Hatalı

İki geçişli durum, bu ana durumlar arasında geçiş yaparken bir iletişim nesnesinin kaplayabileceğinizi belirtir:

  • Açma

  • Kapatma

İletişim nesnesi Oluşturuldu durumunda yapılandırılabilir. Örneğin, özellikleri değiştirilebilir ve olayları kaydedilebilir. Bu durumda hiçbir giriş veya çıkış oluşamıyor. Bu nedenle, örneğin iletiler bu durumdaki bir kanaldan gönderilemez veya alınamaz.

Açma, yöntem çağrıldığında iletişim nesnesinin Open girdiği geçici bir durumdur. Türetilmiş sınıflarda aksi belirtilmedikçe, açma durumundaki nesneler yapılandırılamaz. Bu geçiş durumu yalnızca Oluşturuldu durumundan girilebilir.

Nesneler, açık işlem tamamlandığında Açık duruma geçirilir. Bu açık duruma geçiş yalnızca Açma durumundan geçerlidir. Türetilmiş sınıflarda aksi belirtilmedikçe, nesnenin yapılandırması artık devre dışı bırakılır. Bu noktada, nesne ileti aktarımları için tamamen kullanılabilir.

Closing, yöntem düzgün bir kapatma için çağrıldığında veya nesne durdurulduğunda Close nesnenin girdiği geçici bir durumdur. Bu noktada, nesne (henüz kullanılmıyorsa) kullanılamaz hale gelir. Bu geçiş, Kapalı durumu dışında herhangi bir durumdan geçerlidir.

Kapalı durumu atılmakla eşdeğerdir ve nesnenin yapılandırması yine de incelenebilir.

Hatalı durum, nesnenin artık kullanılamadığı bir duruma geçtiğini belirtmek için kullanılır. Bunun olabileceği iki birincil senaryo vardır:

  • Open Yöntem herhangi bir nedenle başarısız olursa, nesne hatalı duruma geçirilir.

  • Oturum tabanlı bir kanal kurtaramadığı bir hata algılarsa, hatalı duruma geçirilir. Bu durum, örneğin bir protokol hatası varsa (yani, geçersiz bir zamanda bir protokol iletisi alıyorsa) veya uzak uç nokta oturumu durdurursa oluşabilir.

Hatalı durumdaki bir nesne kapatılmaz ve kaynakları tutuyor olabilir. Abort yöntemi, hatalı bir nesneyi kapatmak için kullanılmalıdır. Hatalı durumdaki bir nesnede çağrılırsa Close , nesne düzgün bir şekilde kapatılamadığından bir CommunicationObjectFaultedException oluşturulur.

Şunlara uygulanır