CommunicationState Enumeração

Definição

Define os estados nos quais um ICommunicationObject pode existir.Defines the states in which an ICommunicationObject can exist.

public enum class CommunicationState
public enum CommunicationState
type CommunicationState = 
Public Enum CommunicationState
Herança
CommunicationState

Campos

Closed 4

Indica que o objeto de comunicação foi fechado e não é mais utilizável.Indicates that the communication object has been closed and is no longer usable.

Closing 3

Indica que o objeto de comunicação está fazendo a transição para o estado Closed.Indicates that the communication object is transitioning to the Closed state.

Created 0

Indica que o objeto de comunicação foi instanciado e é configurável, mas ainda não está aberto ou pronto para uso.Indicates that the communication object has been instantiated and is configurable, but not yet open or ready for use.

Faulted 5

Indica que o objeto de comunicação apresentou um erro ou uma falha da qual não pode se recuperar e não é mais utilizável.Indicates that the communication object has encountered an error or fault from which it cannot recover and from which it is no longer usable.

Opened 2

Indica que o objeto de comunicação agora está aberto e pronto para ser usado.Indicates that the communication object is now open and ready to be used.

Opening 1

Indica que o objeto de comunicação está fazendo a transição do estado Created para o estado Opened.Indicates that the communication object is being transitioned from the Created state to the Opened state.

Comentários

Essa enumeração define os Estados que são válidos para todos os objetos de comunicação no sistema, incluindo canais, ouvintes, fábricas, expatchers e hosts de serviço.This enumeration defines the states that are valid for all communication objects in the system, including channels, listeners, factories, dispatchers, and service hosts.

Os métodos que gerenciam transições entre esses Estados e os eventos que podem ser associados a eles são definidos na interface ICommunicationObject.The methods that manage transitions between these states and the events that can be associated with them are defined in the ICommunicationObject interface. O estado de um objeto pode ser obtido usando a propriedade State.The state of an object can be obtained using the State property.

Há quatro Estados principais e dois estados transitórios que um objeto de comunicação pode ocupar.There are four main states and two transient states that a communication object can occupy. Os principais Estados são:The main states are:

  • CriadoCreated

  • FeitoOpened

  • FechadoClosed

  • Com falhaFaulted

Os dois estados transitórios que um objeto de comunicação pode ocupar ao fazer a transição entre esses Estados principais são:The two transitory states that a communication object can occupy when transitioning between these main states are:

  • InauguraOpening

  • FechandoClosing

O objeto de comunicação pode ser configurado no estado criado.The communication object can be configured in the Created state. Por exemplo, suas propriedades podem ser alteradas e seus eventos podem ser registrados.For example, its properties can be changed, and its events can be registered. Nenhuma entrada ou saída pode ocorrer nesse estado.No input or output can occur in this state. Portanto, as mensagens, por exemplo, não podem ser enviadas ou recebidas de um canal nesse estado.So messages, for example, cannot be sent or received from a channel in this state.

A abertura é um estado temporário que o objeto de comunicação insere quando o método de Open é invocado.The Opening is a temporary state that the communication object enters when the Open method is invoked. Salvo indicação em contrário em classes derivadas, os objetos no estado de abertura não podem ser configurados.Unless otherwise noted on derived classes, objects in the opening state cannot be configured. Esse estado de transição só pode ser inserido a partir do estado criado.This transition state can only be entered from the Created state.

A transição de objetos para o estado aberto quando o processo aberto é concluído.Objects transition to the Opened state when the open process completes. Essa transição para o estado aberto só é válida a partir do estado de abertura.This transition to the Opened state is only valid from the Opening state. A menos que indicado em contrário em classes derivadas, a configuração do objeto agora está desabilitada.Unless otherwise noted on derived classes, the configuration of the object is now disabled. Neste ponto, o objeto é totalmente utilizável para transferências de mensagens.At this point, the object is fully usable for message transfers.

O fechamento é um estado temporário que o objeto insere quando o método de Close é invocado para um desligamento normal ou o objeto é anulado.The Closing is a temporary state that the object enters when the Close method is invoked for a graceful shutdown or the object is aborted. Neste ponto, o objeto se torna (se ainda não) inutilizável.At this point, the object becomes (if not already) unusable. Essa transição é válida a partir de qualquer Estado, exceto do estado fechado.This transition is valid from any state except the Closed state.

O estado Closed é equivalente a ser descartado e a configuração do objeto ainda pode ser inspecionada.The Closed state is equivalent to being disposed and the configuration of the object can still be inspected.

O estado com falha é usado para indicar que o objeto passou por transição para um estado em que ele não pode mais ser usado.The Faulted state is used to indicate that the object has transitioned to a state where it can no longer be used. Há dois cenários principais em que isso pode acontecer:There are two primary scenarios where this can happen:

  • Se o método de Open falhar por algum motivo, o objeto passará para o estado com falha.If the Open method fails for any reason, the object transitions to the faulted state.

  • Se um canal baseado em sessão detectar um erro que não pode ser recuperado, ele faz a transição para o estado com falha.If a session-based channel detects an error that it cannot recover from, it transitions to the faulted state. Isso pode acontecer por instância se houver um erro de protocolo (ou seja, ele receberá uma mensagem de protocolo em um horário inválido) ou se o ponto de extremidade remoto abortar a sessão.This can happen for instance if there is a protocol error (that is, it receives a protocol message at an invalid time) or if the remote endpoint aborts the session.

Um objeto no estado com falha não é fechado e pode estar mantendo recursos.An object in the Faulted state is not closed and may be holding resources. O método Abort deve ser usado para fechar um objeto com falha.The Abort method should be used to close an object that has faulted. Se Close for chamado em um objeto no estado com falha, uma CommunicationObjectFaultedException será gerada porque o objeto não pode ser fechado normalmente.If Close is called on an object in the Faulted state, a CommunicationObjectFaultedException is thrown because the object cannot be gracefully closed.

Aplica-se a