System.Messaging Espacio de nombres

Proporciona clases que permiten conectar, supervisar y administrar las colas de mensajes en la red, así como enviar, recibir u ojear mensajes.

Clases

AccessControlEntry

Especifica los derechos de acceso de un administrador de confianza(usuario, grupo o equipo) para realizar implementaciones específicas de la aplicación de tareas habituales.

AccessControlList

Contiene una lista de entradas de control de acceso que especifica los derechos de acceso para uno o varias personas de confianza.

ActiveXMessageFormatter

Serializa o deserializa los tipos de datos primitivos y otros objetos destinados al cuerpo de un mensaje de Message Queuing o procedentes de este, con un formato compatible con el componente ActiveX MSMQ.

BinaryMessageFormatter

Serializa o deserializa un objeto o un gráfico completo de objetos conectados, en el cuerpo de un mensaje de Message Queuing o desde él, utilizando un formato binario.

Cursor

Se utiliza una clase Cursor para mantener una ubicación concreta en una MessageQueue cuando se leen los mensajes de la cola.

DefaultPropertiesToSend

Especifica los valores de propiedad predeterminados que se utilizarán al enviar objetos diferentes de las instancias de Message a una cola de mensajes.

Message

Proporciona acceso a las propiedades necesarias para definir un mensaje de Message Queuing.

MessageEnumerator

Ofrece un cursor de solo avance para enumerar los mensajes de una cola de mensajes.

MessagePropertyFilter

Controla y selecciona las propiedades que se recuperan al leer en un mensaje o recibir mensajes de una cola de mensajes.

MessageQueue

Proporciona acceso a una cola en un servidor de Message Queuing.

MessageQueueAccessControlEntry

Especifica los derechos de acceso de un administrador de confianza (usuario, grupo o equipo) para realizar tareas de Message Queuing.

MessageQueueCriteria

Filtra las colas de mensajes cuando se realiza una consulta mediante el método MessageQueue de la clase GetPublicQueues().

MessageQueueEnumerator

Ofrece un cursor de solo avance para enumerar los mensajes de una cola de mensajes.

MessageQueueException

Excepción que se produce cuando ocurre un error interno de Microsoft Message Queuing.

MessageQueueInstaller

Permite instalar y configurar una cola que la aplicación necesita para poder ejecutarse. La utilidad de instalación, por ejemplo, InstallUtil.exe, llama a esta clase cuando se instala una MessageQueue.

MessageQueuePermission

Permite controlar los permisos de acceso a código para los mensajes.

MessageQueuePermissionAttribute

Permite comprobaciones declarativas de permiso de MessageQueue.

MessageQueuePermissionEntry

Define la unidad más pequeña de un permiso de seguridad de acceso del código establecido para los mensajes.

MessageQueuePermissionEntryCollection

Contiene una colección fuertemente tipada de objetos MessageQueuePermissionEntry.

MessageQueueTransaction

Proporciona una transacción interna de Message Queuing.

MessagingDescriptionAttribute

Especifica una descripción para una propiedad o evento.

PeekCompletedEventArgs

Proporciona datos para el evento PeekCompleted. Cuando una operación de lectura asincrónica llama a un controlador de evento, se pasa una instancia de esta clase al controlador.

ReceiveCompletedEventArgs

Proporciona datos para el evento ReceiveCompleted. Cuando una operación de recepción asincrónica llama a un controlador de evento, se pasa una instancia de esta clase al controlador.

SecurityContext

Representa el contexto de seguridad para un mensaje en una cola.

Trustee

Especifica una cuenta de usuario, una cuenta de grupo o una sesión de inicio a la que se aplica una entrada de control de acceso.

XmlMessageFormatter

Serializa y deserializa objetos del cuerpo de un mensaje, utilizando el formato XML basado en la definición de esquemas XSD.

Interfaces

IMessageFormatter

Serializa o deserializa objetos del cuerpo de un mensaje de Message Queuing.

Enumeraciones

AccessControlEntryType

Indica si se van a conceder, denegar o revocar los derechos de acceso de un administrador de confianza.

AcknowledgeTypes

Especifica los tipos de mensajes de confirmación que Message Queuing devuelve a la aplicación de envío.

Acknowledgment

Especifica el resultado de un intento de entrega del mensaje.

CryptographicProviderType

Especifica los proveedores de servicios criptográficos disponibles para validar las firmas digitales.

EncryptionAlgorithm

Especifica el algoritmo de cifrado utilizado para cifrar el cuerpo del mensaje de un mensaje privado.

EncryptionRequired

Especifica el nivel de privacidad de los mensajes recibidos en la cola.

GenericAccessRights

Utiliza el formato de acceso de Windows 2000 y Windows NT para especificar un conjunto de derechos de acceso comunes que Message Queuing asigna tanto a los derechos de acceso estándar como a los específicos del objeto de lectura, escritura y ejecución.

HashAlgorithm

Especifica el algoritmo hash que usa Message Queue Server al autenticar mensajes.

MessageLookupAction

Especifica un mensaje que debe inspeccionarse o recibirse desde una cola de mensajes.

MessagePriority

Especifica la prioridad que Message Queuing aplica a un mensaje mientras se encuentra en tránsito hacia una cola, y cuando inserta el mensaje en la cola de destino.

MessageQueueAccessRights

Especifica un conjunto de derechos de acceso específicos del objeto para operaciones específicas de Message Queuing.

MessageQueueErrorCode

Identifica el origen de un error ocurrido en la aplicación Message Queuing que ha generado una excepción MessageQueueException.

MessageQueuePermissionAccess

Define los niveles de acceso utilizados por las clases de permiso System.Messaging.

MessageQueueTransactionStatus

Especifica el estado de una transacción interna de Message Queuing.

MessageQueueTransactionType

Especifica el tipo de una transacción de Message Queuing.

MessageType

Identifica el tipo de un mensaje. Los mensajes pueden ser un mensaje normal de Message Queuing, un mensaje de confirmación positivo (de llegada o lectura) o negativo (de llegada o lectura), o un mensaje de informe.

PeekAction

Indica si se ejecuta el método Peek en el mensaje actual de una cola o en el mensaje siguiente.

QueueAccessMode

Especifica el modo de acceso de una MessageQueue en el momento de la creación.

StandardAccessRights

Especifica un conjunto de derechos de acceso estándar correspondiente a operaciones comunes a la mayoría de los tipos de objetos que se pueden proteger.

TrusteeType

Especifica el tipo de un administrador de confianza.

Delegados

PeekCompletedEventHandler

Representa el método que controlará el evento PeekCompleted de MessageQueue.

ReceiveCompletedEventHandler

Representa el método que controlará el evento ReceiveCompleted de MessageQueue.

Comentarios

Los miembros de la MessageQueue clase incluyen los métodos siguientes para leer y escribir mensajes en la cola:

  • El Send método permite a la aplicación escribir mensajes en la cola. Las sobrecargas del método permiten especificar si se debe enviar el mensaje mediante un Message (que proporciona control detallado sobre la información que envía) o cualquier otro objeto administrado, incluidas las clases específicas de la aplicación. El método también admite el envío de mensajes como parte de una transacción.

  • Los Receivemétodos , ReceiveByIdy ReceiveByCorrelationId proporcionan funcionalidad para leer mensajes de una cola. Al igual que el Send método , estos métodos proporcionan sobrecargas que admiten el procesamiento de cola transaccional. Estos métodos también proporcionan sobrecargas con tiempo de espera.

    Out parameters that enable processing to continue if the queue is empty. Dado que estos métodos son ejemplos de procesamiento sincrónico, interrumpen el subproceso actual hasta que haya un mensaje disponible, a menos que especifique un tiempo de espera.

  • El Peek método es similar a Receive, pero no hace que se quite un mensaje de la cola cuando se lee. Dado Peek que no cambia el contenido de la cola, no hay sobrecargas para admitir el procesamiento transaccional. Sin embargo, dado que Peek, como Receive, lee los mensajes de forma sincrónica de la cola, las sobrecargas del método admiten especificar un tiempo de espera para evitar que el subproceso espere indefinidamente.

  • Los BeginPeekmétodos , EndPeek(IAsyncResult), BeginReceivey EndReceive(IAsyncResult) proporcionan formas de leer de forma asincrónica los mensajes de la cola. No interrumpen el subproceso actual mientras esperan a que llegue un mensaje a la cola.

Los métodos siguientes de la MessageQueue clase proporcionan funcionalidad para recuperar listas de colas por criterios especificados y determinar si existen colas específicas:

Otros métodos de la MessageQueue clase proporcionan la siguiente funcionalidad:

  • Creación y eliminación de colas de mensajes.

  • Usar un enumerador de mensajes para recorrer los mensajes de una cola.

  • Usar un enumerador de cola para recorrer en iteración las colas del sistema.

  • Establecer derechos de acceso basados en ACL.

  • Trabajar con la memoria caché de conexión.

La Message clase proporciona control detallado sobre la información que envía a una cola y es el objeto que se usa al recibir o examinar mensajes de una cola. Además del cuerpo del mensaje, las propiedades de la Message clase incluyen la configuración de confirmación, la selección del formateador, la identificación, la autenticación y la información de cifrado, las marcas de tiempo, las indicaciones sobre el uso del seguimiento, el registro en diario del servidor y las colas de mensajes fallidos y los datos de transacción.

El MessageQueue componente está asociado a los tres formateadores siguientes, que permiten serializar y deserializar los mensajes enviados y recibidos de las colas:

  • proporciona XmlMessageFormatter mensajería de acoplamiento flexible, lo que permite el control de versiones independientes de los tipos serializados en el cliente y el servidor.

  • ActiveXMessageFormatter es compatible con el control COM de MSMQ. Permite enviar tipos que el control puede recibir y recibir tipos enviados por el control.

  • BinaryMessageFormatter proporciona una alternativa más rápida a , XmlMessageFormatterpero sin la ventaja de mensajería acoplada flexiblemente.

Otras clases del Messaging espacio de nombres admiten el acceso a código y la seguridad basada en ACL, filtrando Message propiedades al leer mensajes de una cola y usar transacciones al enviar y recibir mensajes.