System.Messaging Namespace

El espacio de nombres System.Messaging proporciona clases que permiten conectar, supervisar y administrar las colas de mensajes en la red, así como enviar, recibir o leer (Peek) mensajes. The System.Messaging namespace provides classes that allow you to connect to, monitor, and administer message queues on the network and send, receive, or peek messages.

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.Specifies access rights for a trustee (user, group, or computer) to perform application-specific implementations of common tasks.

AccessControlList

Contiene una lista de entradas de control de acceso que especifica los derechos de acceso para uno o varias personas de confianza.Contains a list of access control entries, specifying access rights for one or more trustees.

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.Serializes or deserializes primitive data types and other objects to or from the body of a Message Queuing message, using a format that is compatible with the MSMQ ActiveX Component.

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.Serializes or deserializes an object, or an entire graph of connected objects, to or from the body of a Message Queuing message, using a binary format.

Cursor

Se utiliza una clase Cursor para mantener una ubicación concreta en una MessageQueue cuando se leen los mensajes de la cola.A Cursor is used to maintain a specific location in a MessageQueue when reading the queue's messages.

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.Specifies the default property values that will be used when sending objects other than Message instances to a message queue.

Message

Proporciona acceso a las propiedades necesarias para definir un mensaje de Message Queuing.Provides access to the properties needed to define a Message Queuing message.

MessageEnumerator

Proporciona un cursor de tipo sólo hacia delante con el fin de enumerar mensajes en una cola de mensajes.Provides a forward-only cursor to enumerate through messages in a message queue.

MessagePropertyFilter

Controla y selecciona las propiedades que se recuperan al leer en un mensaje o recibir mensajes de una cola de mensajes.Controls and selects the properties that are retrieved when peeking or receiving messages from a message queue.

MessageQueue

Proporciona acceso a una cola en un servidor de Message Queuing.Provides access to a queue on a Message Queuing server.

MessageQueueAccessControlEntry

Especifica los derechos de acceso de un administrador de confianza (usuario, grupo o equipo) para realizar tareas de Message Queue Server.Specifies access rights for a trustee (user, group, or computer) to perform Message Queuing tasks.

MessageQueueCriteria

Filtra las colas de mensajes cuando se realiza una consulta mediante el método MessageQueue de la clase GetPublicQueues().Filters message queues when performing a query using the MessageQueue class's GetPublicQueues() method.

MessageQueueEnumerator

Ofrece un cursor de solo avance para enumerar los mensajes de una cola de mensajes.Provides a forward-only cursor to enumerate through messages in a message queue.

MessageQueueException

Excepción que se produce cuando ocurre un error interno de Microsoft Message Queuing.The exception that is thrown if a Microsoft Message Queuing internal error occurs.

MessageQueueInstaller

Permite instalar y configurar una cola que la aplicación necesita para poder ejecutarse.Allows you to install and configure a queue that your application needs in order to run. La utilidad de instalación, por ejemplo, InstallUtil.exe, llama a esta clase cuando se instala una MessageQueue.This class is called by the installation utility, for example, InstallUtil.exe, when installing a MessageQueue.

MessageQueuePermission

Permite controlar los permisos de acceso a código para los mensajes.Allows control of code access permissions for messaging.

MessageQueuePermissionAttribute

Permite comprobaciones declarativas de permiso de MessageQueue.Allows declarative MessageQueue permission checks.

MessageQueuePermissionEntry

Define la unidad más pequeña de un permiso de seguridad de acceso del código establecido para los mensajes.Defines the smallest unit of a code access security permission set for messaging.

MessageQueuePermissionEntryCollection

Contiene una colección fuertemente tipada de objetos MessageQueuePermissionEntry.Contains a strongly typed collection of MessageQueuePermissionEntry objects.

MessageQueueTransaction

Proporciona una transacción interna de Message Queuing.Provides a Message Queuing internal transaction.

MessagingDescriptionAttribute

Especifica una descripción para una propiedad o evento.Specifies a description for a property or event.

PeekCompletedEventArgs

Proporciona datos para el evento PeekCompleted.Provides data for the PeekCompleted event. Cuando una operación de lectura asincrónica llama a un controlador de evento, se pasa una instancia de esta clase al controlador.When your asynchronous peek operation calls an event handler, an instance of this class is passed to the handler.

ReceiveCompletedEventArgs

Proporciona datos para el evento ReceiveCompleted.Provides data for the ReceiveCompleted event. Cuando una operación de recepción asincrónica llama a un controlador de evento, se pasa una instancia de esta clase al controlador.When your asynchronous receive operation calls an event handler, an instance of this class is passed to the handler.

SecurityContext

Representa el contexto de seguridad para un mensaje en una cola.Represents the security context for a message in a queue.

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.Specifies a user account, group account, or logon session to which an access control entry applies.

XmlMessageFormatter

Serializa y deserializa objetos del cuerpo de un mensaje, utilizando el formato XML basado en la definición de esquemas XSD.Serializes and deserializes objects to or from the body of a message, using the XML format based on the XSD schema definition.

Interfaces

IMessageFormatter

Serializa o deserializa objetos del cuerpo de un mensaje de Message Queuing.Serializes or deserializes objects from the body of a Message Queuing message.

Enumeraciones

AccessControlEntryType

Indica si se van a conceder, denegar o revocar los derechos de acceso de un administrador de confianza.Specifies whether to allow, deny, or revoke access rights for a trustee.

AcknowledgeTypes

Especifica los tipos de mensajes de confirmación que Message Queuing devuelve a la aplicación de envío.Specifies the types of acknowledgment message that Message Queuing returns to the sending application.

Acknowledgment

Especifica el resultado de un intento de entrega del mensaje.Specifies the result of an attempted message delivery.

CryptographicProviderType

Especifica los proveedores de servicios criptográficos disponibles para validar las firmas digitales.Specifies the cryptographic service providers available for validating digital signatures.

EncryptionAlgorithm

Especifica el algoritmo de cifrado utilizado para cifrar el cuerpo del mensaje de un mensaje privado.Specifies the encryption algorithm used to encrypt the message body of a private message.

EncryptionRequired

Especifica el nivel de privacidad de los mensajes recibidos en la cola.Specifies the privacy level of messages received by the queue.

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.Uses the Windows 2000 and Windows NT access format to specify a set of common access rights that Message Queuing maps to both standard and object-specific access rights for reading, writing, and executing.

HashAlgorithm

Especifica el algoritmo hash que usa Message Queue Server al autenticar mensajes.Specifies the hash algorithm used by Message Queuing when authenticating messages.

MessageLookupAction

Especifica un mensaje que debe inspeccionarse o recibirse desde una cola de mensajes.Specifies a message to peek at or receive from a message queue.

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.Specifies the priority Message Queuing applies to a message while it is en route to a queue, and when inserting the message into the destination queue.

MessageQueueAccessRights

Especifica un conjunto de derechos de acceso específicos del objeto para operaciones específicas de Message Queuing.Specifies a set of object-specific access rights for operations specific to Message Queuing.

MessageQueueErrorCode

Identifica el origen de un error ocurrido en la aplicación Message Queuing que ha generado una excepción MessageQueueException.Identifies the source of an error that occurred within the Message Queuing application and generated a MessageQueueException exception.

MessageQueuePermissionAccess

Define los niveles de acceso utilizados por las clases de permiso System.Messaging.Defines access levels used by System.Messaging permission classes.

MessageQueueTransactionStatus

Especifica el estado de una transacción interna de Message Queuing.Specifies the state of an internal Message Queuing transaction.

MessageQueueTransactionType

Especifica el tipo de una transacción de Message Queuing.Specifies the type of a Message Queuing transaction.

MessageType

Identifica el tipo de un mensaje.Identifies the type of a message. 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.A message can be a typical Message Queuing message, a positive (arrival and read) or negative (arrival and read) acknowledgment message, or a report message.

PeekAction

Indica si se ejecuta el método Peek en el mensaje actual de una cola o en el mensaje siguiente.Indicates whether to peek the current message in a queue, or the next message.

QueueAccessMode

Especifica el modo de acceso de una MessageQueue en el momento de la creación.Specifies the access mode for a MessageQueue at creation time.

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.Specifies a set of standard access rights that correspond to operations common to most types of securable objects.

TrusteeType

Especifica el tipo de un administrador de confianza.Specifies the type of a trustee.

Delegados

PeekCompletedEventHandler

Representa el método que controlará el evento PeekCompleted de MessageQueue.Represents the method that will handle the PeekCompleted event of a MessageQueue.

ReceiveCompletedEventHandler

Representa el método que controlará el evento ReceiveCompleted de MessageQueue.Represents the method that will handle the ReceiveCompleted event of a MessageQueue.

Comentarios

Los miembros de la MessageQueue clase incluyen los siguientes métodos para leer y escribir mensajes en la cola:Members of the MessageQueue class include the following methods for reading and writing messages to the queue:

  • El Send método permite que la aplicación escribir mensajes en la cola.The Send method enables your application to write messages to the queue. Las sobrecargas del método permiten especificar si se debe enviar el mensaje con un Message (que proporciona un control exhaustivo sobre la información que envíe) o cualquier otro objeto administrado, incluidas las clases específicas de la aplicación.Overloads of the method enable you to specify whether to send your message using a Message (which provides detailed control over the information you send) or any other managed object, including application-specific classes. El método también admite el envío de mensajes como parte de una transacción.The method also supports sending messages as part of a transaction.

  • El Receive, ReceiveById, y ReceiveByCorrelationId métodos proporcionan funcionalidad para leer mensajes de una cola.The Receive, ReceiveById, and ReceiveByCorrelationId methods provide functionality for reading messages from a queue. Al igual que el Send método, estos métodos proporcionan sobrecargas que admiten el procesamiento de colas transaccionales.Like the Send method, these methods provide overloads that support transactional queue processing. Estos métodos también proporcionan sobrecargas con el tiempo de espera.These methods also provide overloads with time-out.

    Los parámetros de salida que permiten el procesamiento continúe si la cola está vacía.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 un mensaje esté disponible, a menos que especifique un tiempo de espera.Because these methods are examples of synchronous processing, they interrupt the current thread until a message is available, unless you specify a time-out.

  • El Peek es similar al método Receive, pero no hace que un mensaje que se va a quitar de la cola cuando se lee.The Peek method is similar to Receive, but it does not cause a message to be removed from the queue when it is read. Dado que Peek no cambia el contenido de la cola, existen dos sobrecargas para admitir el procesamiento transaccional.Because Peek does not change the queue contents, there are no overloads to support transactional processing. Sin embargo, dado que Peek, como Receive, lee los mensajes de forma sincrónica de la cola, las sobrecargas del método admite la especificación de un tiempo de espera con el fin de evitar que el subproceso en espera indefinidamente.However, because Peek, like Receive, reads messages synchronously from the queue, overloads of the method do support specifying a time-out in order to prevent the thread from waiting indefinitely.

  • El BeginPeek, EndPeek(IAsyncResult), BeginReceive, y EndReceive(IAsyncResult) métodos proporcionan formas de leer los mensajes de la cola de forma asincrónica.The BeginPeek, EndPeek(IAsyncResult), BeginReceive, and EndReceive(IAsyncResult) methods provide ways to asynchronously read messages from the queue. No interrumpan el subproceso actual mientras se espera un mensaje llegue a la cola.They do not interrupt the current thread while waiting for a message to arrive in the queue.

Los métodos siguientes de la MessageQueue clase proporcionan funcionalidad para recuperar las listas de colas según los criterios especificados y determinar si existen determinadas colas:The following methods of the MessageQueue class provide functionality for retrieving lists of queues by specified criteria and determining if specific queues exist:

Otros métodos de la MessageQueue clase proporcionan la funcionalidad siguiente:Other methods of the MessageQueue class provide the following functionality:

  • Creación y eliminación de colas de Message Queue Server.Creating and deleting Message Queueing queues.

  • Uso de un enumerador de mensajes paso a paso a través de los mensajes de una cola.Using a message enumerator to step through the messages in a queue.

  • Uso de un enumerador de cola para recorrer en iteración las colas en el sistema.Using a queue enumerator for iterating through the queues on the system.

  • Establecer derechos de acceso basada en ACL.Setting ACL-based access rights.

  • Trabajar con la caché de conexión.Working with the connection cache.

La Message clase proporciona un control detallado sobre la información que envíe a una cola y el objeto se usa al recibir o buscar mensajes de una cola.The Message class provides detailed control over the information you send to a queue, and is the object used when receiving or peeking messages from a queue. Además del cuerpo del mensaje, las propiedades de la Message clase incluir valores de confirmación, selección de formateador, identificación, información de autenticación y cifrado, las marcas de tiempo, las indicaciones sobre el uso de seguimiento, registro en diario de servidor, y las colas de mensajes no enviados y datos de transacción.Besides the message body, the properties of the Message class include acknowledgment settings, formatter selection, identification, authentication and encryption information, timestamps, indications about using tracing, server journaling, and dead-letter queues, and transaction data.

El MessageQueue componente está asociado con los tres formateadores siguientes, lo que le permite serializar y deserializar los mensajes enviados y recibidos desde las colas:The MessageQueue component is associated with the following three formatters, which enable you to serialize and deserialize messages sent and received from queues:

  • El XmlMessageFormatter proporciona mensajería con acoplamiento flexible, lo que permite crear versiones independientes de tipos serializados en el cliente y servidor.The XmlMessageFormatter provides loosely coupled messaging, enabling independent versioning of serialized types on the client and server.

  • El ActiveXMessageFormatter es compatible con el control COM de MSMQ.The ActiveXMessageFormatter is compatible with the MSMQ COM control. Permite enviar tipos que pueden ser recibidos por el control y para recibir los tipos que se han enviado por el control.It allows you to send types that can be received by the control and to receive types that were sent by the control.

  • El BinaryMessageFormatter proporciona una alternativa más rápida a la XmlMessageFormatter, pero sin la ventaja de acoplamiento flexible de mensajería.The BinaryMessageFormatter provides a faster alternative to the XmlMessageFormatter, but without the benefit of loosely coupled messaging.

Otras clases en el Messaging espacio de nombres admiten el acceso a código y seguridad basada en ACL, filtrado Message propiedades al leer los mensajes de una cola y el uso de transacciones al enviar y recibir mensajes.Other classes in the Messaging namespace support code-access and ACL-based security, filtering Message properties when reading messages from a queue, and using transactions when sending and receiving messages.