System.Messaging Espacio de nombres
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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:
GetPrivateQueuesByMachine(String) habilita la recuperación de las colas privadas en un equipo.
GetPublicQueuesByCategory(Guid), GetPublicQueuesByLabel(String)y GetPublicQueuesByMachine(String) proporcionan formas de recuperar colas públicas por criterios comunes. Una sobrecarga de GetPublicQueues proporciona detalles más finos para seleccionar colas en función de varios criterios de búsqueda.
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.