CommunicationState CommunicationState CommunicationState CommunicationState Enum

Definición

Define los estados en los que un ICommunicationObject puede existir. Defines the states in which an ICommunicationObject can exist.

public enum class CommunicationState
public enum CommunicationState
type CommunicationState = 
Public Enum CommunicationState
Herencia
CommunicationStateCommunicationStateCommunicationStateCommunicationState

Campos

Closed Closed Closed Closed 4

Indica que el objeto de comunicación se ha cerrado y ya no se puede utilizar. Indicates that the communication object has been closed and is no longer usable.

Closing Closing Closing Closing 3

Indica que el objeto de comunicación está pasando al estado Closed. Indicates that the communication object is transitioning to the Closed state.

Created Created Created Created 0

Indica que se ha creado una instancia del objeto de comunicación y se puede configurar, pero ni se puede abrir todavía ni está lista para su uso. Indicates that the communication object has been instantiated and is configurable, but not yet open or ready for use.

Faulted Faulted Faulted Faulted 5

Indica que el objeto de comunicación ha encontrado un error del que no se puede recuperar y debido al cual ya no se puede utilizar. 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 Opened Opened Opened 2

Indica que el objeto de comunicación ya está abierto y listo para su uso. Indicates that the communication object is now open and ready to be used.

Opening Opening Opening Opening 1

Indica que el objeto de comunicación se está pasando del estado Created al estado Opened. Indicates that the communication object is being transitioned from the Created state to the Opened state.

Comentarios

Esta enumeración define los estados que son válidos para todos los objetos de comunicación del sistema, incluidos los canales, agentes de escucha, generadores y hosts de servicios.This enumeration defines the states that are valid for all communication objects in the system, including channels, listeners, factories, dispatchers, and service hosts.

Los métodos que administran las transiciones entre estos estados y los eventos que pueden asociarse a ellos se definen en la interfaz ICommunicationObject.The methods that manage transitions between these states and the events that can be associated with them are defined in the ICommunicationObject interface. El estado de un objeto se puede obtener utilizando la propiedad State.The state of an object can be obtained using the State property.

Hay cuatro estados principales y dos estados transitorios que un objeto de comunicación puede ocupar.There are four main states and two transient states that a communication object can occupy. Los estados principales son:The main states are:

  • CreatedCreated

  • AbiertoOpened

  • CerradoClosed

  • ErrorFaulted

Los dos estados transitorios que puede ocupar un objeto de comunicación cuando se produce la transición entre estos estados principales son:The two transitory states that a communication object can occupy when transitioning between these main states are:

  • AbriendoOpening

  • ClosingClosing

El objeto de comunicación puede configurarse en el estado creado.The communication object can be configured in the Created state. Por ejemplo, se pueden cambiar sus propiedades y se pueden registrar sus eventos.For example, its properties can be changed, and its events can be registered. Ninguna entrada o salida puede producirse en este estado.No input or output can occur in this state. De modo que, los mensajes, por ejemplo, no se pueden enviar ni recibir desde un canal en este estado.So messages, for example, cannot be sent or received from a channel in this state.

La apertura es un estado temporal que el objeto de comunicación entra cuando el Open se invoca el método.The Opening is a temporary state that the communication object enters when the Open method is invoked. A menos que se comunique lo contrario en clases derivadas, no se pueden configurar los objetos en el estado de la apertura.Unless otherwise noted on derived classes, objects in the opening state cannot be configured. Solo se puede escribir este estado de transición de estado creado.This transition state can only be entered from the Created state.

Los objetos pasan al estado abierto cuando se complete el proceso de apertura.Objects transition to the Opened state when the open process completes. Esta transición al estado abierto solo es válida desde el estado de apertura.This transition to the Opened state is only valid from the Opening state. A menos que se observe lo contrario en clases derivadas, ahora la configuración del objeto está deshabilitada.Unless otherwise noted on derived classes, the configuration of the object is now disabled. En este punto, el objeto es totalmente utilizable para transferencias de mensajes.At this point, the object is fully usable for message transfers.

El cierre es un estado temporal que el objeto entra cuando el Close se invoca el método para que el apagado o se anula el objeto.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. En este punto, el objeto se vuelve (si no lo es ya) inutilizable.At this point, the object becomes (if not already) unusable. Esta transición es válida desde cualquier estado excepto el estado cerrado.This transition is valid from any state except the Closed state.

El estado cerrado es equivalente a eliminarse y todavía se puede inspeccionar la configuración del objeto.The Closed state is equivalent to being disposed and the configuration of the object can still be inspected.

El estado Faulted sirve para indicar que el objeto ha pasado a un estado en el que ya no se puede usar.The Faulted state is used to indicate that the object has transitioned to a state where it can no longer be used. Hay dos escenarios principales donde esto puede pasar:There are two primary scenarios where this can happen:

  • Si se produce un error en el método Open por cualquier motivo, el objeto pasa al estado de error.If the Open method fails for any reason, the object transitions to the faulted state.

  • Si un canal basado en sesión detecta un error del que no se puede recuperar, pasa al estado de error.If a session-based channel detects an error that it cannot recover from, it transitions to the faulted state. Esto puede pasar, por ejemplo, si hay un error de protocolo (es decir, recibe un mensaje protocolar en un momento no válido) o si el punto de conexión remoto anula la sesión.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.

Un objeto en el estado Faulted no está cerrado y esté ocupando recursos.An object in the Faulted state is not closed and may be holding resources. El método Abort se debería utilizar para cerrar un objeto que ha producido un error.The Abort method should be used to close an object that has faulted. Si Close se llama en un objeto en el estado Faulted, un CommunicationObjectFaultedException se produce porque el objeto no se puede cerrar correctamente.If Close is called on an object in the Faulted state, a CommunicationObjectFaultedException is thrown because the object cannot be gracefully closed.

Se aplica a