Compartir a través de


CommunicationState Enumeración

Definición

Define los estados en los que un ICommunicationObject puede existir.

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

Campos

Closed 4

Indica que el objeto de comunicación se ha cerrado y ya no se puede utilizar.

Closing 3

Indica que el objeto de comunicación está pasando al estado Closed.

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.

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.

Opened 2

Indica que el objeto de comunicación ya está abierto y listo para su uso.

Opening 1

Indica que el objeto de comunicación se está pasando del estado Created al estado Opened.

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.

Los métodos que administran las transiciones entre estos estados y los eventos que pueden asociarse a ellos se definen en la interfaz ICommunicationObject. El estado de un objeto se puede obtener utilizando la propiedad State.

Hay cuatro estados principales y dos estados transitorios que un objeto de comunicación puede ocupar. Los estados principales son:

  • Creado

  • Abierto

  • Closed

  • Error

Los dos estados transitorios que puede ocupar un objeto de comunicación cuando se produce la transición entre estos estados principales son:

  • Apertura

  • Cierre

El objeto de comunicación se puede configurar en el estado Creado. Por ejemplo, se pueden cambiar sus propiedades y se pueden registrar sus eventos. Ninguna entrada o salida puede producirse en este estado. De modo que, los mensajes, por ejemplo, no se pueden enviar ni recibir desde un canal en este estado.

La apertura es un estado temporal que el objeto de comunicación entra cuando se invoca el Open método. A menos que se comunique lo contrario en clases derivadas, no se pueden configurar los objetos en el estado de la apertura. Este estado de transición solo se puede especificar desde el estado Creado.

Los objetos pasan al estado Abierto cuando se completa el proceso abierto. Esta transición al estado Abierto solo es válida desde el estado De apertura. A menos que se observe lo contrario en clases derivadas, ahora la configuración del objeto está deshabilitada. En este punto, el objeto es totalmente utilizable para transferencias de mensajes.

El cierre es un estado temporal que el objeto entra cuando se invoca el Close método para un apagado correcto o se anula el objeto. En este punto, el objeto se vuelve (si no lo es ya) inutilizable. Esta transición es válida desde cualquier estado excepto el estado Cerrado.

El estado Closed es equivalente a eliminarse y la configuración del objeto todavía se puede inspeccionar.

El estado Faulted se usa para indicar que el objeto ha pasado a un estado en el que ya no se puede usar. Hay dos escenarios principales donde esto puede pasar:

  • Si se produce un error en el método Open por cualquier motivo, el objeto pasa al estado de error.

  • Si un canal basado en sesión detecta un error del que no se puede recuperar, pasa al estado de error. 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.

Un objeto en estado Defectuoso no está cerrado y puede contener recursos. El método Abort se debería utilizar para cerrar un objeto que ha producido un error. Si Close se llama a en un objeto con el estado Faulted, se produce una CommunicationObjectFaultedException excepción porque el objeto no se puede cerrar correctamente.

Se aplica a