System.Messaging Namespace

Fornece classes que permitem que você se conecte, monitore e administre filas de mensagens na rede e envie, receba ou espie mensagens.

Classes

Nome Description
AccessControlEntry

Especifica os direitos de acesso de um administrador (usuário, grupo ou computador) para executar implementações específicas do aplicativo de tarefas comuns.

AccessControlList

Contém uma lista de entradas de controle de acesso, especificando direitos de acesso para um ou mais administradores.

ActiveXMessageFormatter

Serializa ou desserializa tipos de dados primitivos e outros objetos de ou para o corpo de uma mensagem de Enfileiramento de Mensagens, usando um formato compatível com o componente MSMQ ActiveX.

BinaryMessageFormatter

Serializa ou desserializa um objeto, ou um grafo inteiro de objetos conectados, de ou para o corpo de uma mensagem de Enfileiramento de Mensagens, usando um formato binário.

Cursor

Um Cursor é usado para manter um local específico em um MessageQueue ao ler as mensagens da fila.

DefaultPropertiesToSend

Especifica os valores de propriedade padrão que serão usados ao enviar objetos que não Message sejam instâncias para uma fila de mensagens.

Message

Fornece acesso às propriedades necessárias para definir uma mensagem de Enfileiramento de Mensagens.

MessageEnumerator

Fornece um cursor somente de encaminhamento para enumerar por meio de mensagens em uma fila de mensagens.

MessagePropertyFilter

Controla e seleciona as propriedades que são recuperadas ao espiar ou receber mensagens de uma fila de mensagens.

MessageQueue

Fornece acesso a uma fila em um servidor de Enfileiramento de Mensagens.

MessageQueueAccessControlEntry

Especifica os direitos de acesso de um administrador (usuário, grupo ou computador) para executar tarefas de Enfileiramento de Mensagens.

MessageQueueCriteria

Filtra filas de mensagens ao executar uma consulta usando o MessageQueue método da GetPublicQueues() classe.

MessageQueueEnumerator

Fornece um cursor somente de encaminhamento para enumerar por meio de mensagens em uma fila de mensagens.

MessageQueueException

A exceção gerada se ocorrer um erro interno de Enfileiramento de Mensagens da Microsoft.

MessageQueueInstaller

Permite que você instale e configure uma fila de que seu aplicativo precisa para ser executado. Essa classe é chamada pelo utilitário de instalação, por exemplo, InstallUtil.exe, ao instalar um MessageQueue.

MessageQueuePermission

Permite o controle de permissões de acesso de código para mensagens.

MessageQueuePermissionAttribute

Permite verificações de permissão declarativa MessageQueue .

MessageQueuePermissionEntry

Define a menor unidade de um conjunto de permissões de segurança de acesso de código para mensagens.

MessageQueuePermissionEntryCollection

Contém uma coleção fortemente tipada de MessageQueuePermissionEntry objetos.

MessageQueueTransaction

Fornece uma transação interna de Enfileiramento de Mensagens.

MessagingDescriptionAttribute

Especifica uma descrição de uma propriedade ou evento.

PeekCompletedEventArgs

Fornece dados para o evento PeekCompleted. Quando sua operação de espiada assíncrona chama um manipulador de eventos, uma instância dessa classe é passada para o manipulador.

ReceiveCompletedEventArgs

Fornece dados para o evento ReceiveCompleted. Quando sua operação de recebimento assíncrona chama um manipulador de eventos, uma instância dessa classe é passada para o manipulador.

SecurityContext

Representa o contexto de segurança de uma mensagem em uma fila.

Trustee

Especifica uma conta de usuário, uma conta de grupo ou uma sessão de logon à qual uma entrada de controle de acesso se aplica.

XmlMessageFormatter

Serializa e desserializa objetos de ou para o corpo de uma mensagem, usando o formato XML com base na definição de esquema XSD.

Interfaces

Nome Description
IMessageFormatter

Serializa ou desserializa objetos do corpo de uma mensagem de Enfileiramento de Mensagens.

Enumerações

Nome Description
AccessControlEntryType

Especifica se os direitos de acesso devem ser permitidos, negados ou revogados para um administrador.

AcknowledgeTypes

Especifica os tipos de mensagem de confirmação que o Enfileiramento de Mensagens retorna ao aplicativo de envio.

Acknowledgment

Especifica o resultado de uma tentativa de entrega de mensagens.

CryptographicProviderType

Especifica os provedores de serviços criptográficos disponíveis para validar assinaturas digitais.

EncryptionAlgorithm

Especifica o algoritmo de criptografia usado para criptografar o corpo da mensagem de uma mensagem privada.

EncryptionRequired

Especifica o nível de privacidade das mensagens recebidas pela fila.

GenericAccessRights

Usa o formato de acesso Windows 2000 e Windows NT para especificar um conjunto de direitos de acesso comuns que o Enfileiramento de Mensagens mapeia para direitos de acesso padrão e específicos ao objeto para leitura, gravação e execução.

HashAlgorithm

Especifica o algoritmo de hash usado pelo Enfileiramento de Mensagens ao autenticar mensagens.

MessageLookupAction

Especifica uma mensagem para espiar ou receber de uma fila de mensagens.

MessagePriority

Especifica que o Enfileiramento de Mensagens de prioridade se aplica a uma mensagem enquanto ele está a caminho de uma fila e ao inserir a mensagem na fila de destino.

MessageQueueAccessRights

Especifica um conjunto de direitos de acesso específicos ao objeto para operações específicas do Enfileiramento de Mensagens.

MessageQueueErrorCode

Identifica a origem de um erro que ocorreu no aplicativo Enfileiramento de Mensagens e gerou uma exceção MessageQueueException.

MessageQueuePermissionAccess

Define os níveis de acesso usados por classes de permissão System.Messaging.

MessageQueueTransactionStatus

Especifica o estado de uma transação interna de Enfileiramento de Mensagens.

MessageQueueTransactionType

Especifica o tipo de uma transação de Enfileiramento de Mensagens.

MessageType

Identifica o tipo de uma mensagem. Uma mensagem pode ser uma mensagem típica de Enfileiramento de Mensagens, uma mensagem de confirmação positiva (chegada e leitura) ou negativa (chegada e leitura) ou uma mensagem de relatório.

PeekAction

Indica se a mensagem atual deve ser espiada em uma fila ou na próxima mensagem.

QueueAccessMode

Especifica o modo de acesso para um MessageQueue no momento da criação.

StandardAccessRights

Especifica um conjunto de direitos de acesso padrão que correspondem a operações comuns à maioria dos tipos de objetos protegíveis.

TrusteeType

Especifica o tipo de um administrador.

Delegados

Nome Description
PeekCompletedEventHandler

Representa o método que manipulará o PeekCompleted evento de um MessageQueue.

ReceiveCompletedEventHandler

Representa o método que manipulará o ReceiveCompleted evento de um MessageQueue.

Comentários

Os membros da MessageQueue classe incluem os seguintes métodos para ler e gravar mensagens na fila:

  • O Send método permite que seu aplicativo escreva mensagens na fila. As sobrecargas do método permitem que você especifique se deseja enviar sua mensagem usando um Message (que fornece controle detalhado sobre as informações enviadas) ou qualquer outro objeto gerenciado, incluindo classes específicas do aplicativo. O método também dá suporte ao envio de mensagens como parte de uma transação.

  • Os Receivemétodos , ReceiveByIde ReceiveByCorrelationId fornecem funcionalidade para ler mensagens de uma fila. Assim como o Send método, esses métodos fornecem sobrecargas que dão suporte ao processamento de fila transacional. Esses métodos também fornecem sobrecargas com o tempo limite.

    Parâmetros externos que permitem que o processamento continue se a fila estiver vazia. Como esses métodos são exemplos de processamento síncrono, eles interrompem o thread atual até que uma mensagem esteja disponível, a menos que você especifique um tempo limite.

  • O Peek método é semelhante a Receive, mas não faz com que uma mensagem seja removida da fila quando ela é lida. Como Peek não altera o conteúdo da fila, não há sobrecargas para dar suporte ao processamento transacional. No entanto, como Peek, por exemplo Receive, lê mensagens de forma síncrona da fila, as sobrecargas do método dão suporte à especificação de um tempo limite para impedir que o thread espere indefinidamente.

  • Os BeginPeekmétodos , EndPeek(IAsyncResult)e EndReceive(IAsyncResult)BeginReceivefornecem maneiras de ler as mensagens de forma assíncrona da fila. Eles não interrompem o thread atual enquanto aguardam a chegada de uma mensagem na fila.

Os métodos a seguir da MessageQueue classe fornecem funcionalidade para recuperar listas de filas por critérios especificados e determinar se existem filas específicas:

Outros métodos da MessageQueue classe fornecem a seguinte funcionalidade:

  • Criando e excluindo filas de filas de mensagens.

  • Usando um enumerador de mensagens para percorrer as mensagens em uma fila.

  • Usando um enumerador de fila para iterar pelas filas no sistema.

  • Definindo direitos de acesso baseados em ACL.

  • Trabalhando com o cache de conexão.

A Message classe fornece controle detalhado sobre as informações que você envia para uma fila e é o objeto usado ao receber ou espiar mensagens de uma fila. Além do corpo da mensagem, as propriedades da classe incluem configurações de Message confirmação, seleção de formatador, identificação, informações de autenticação e criptografia, carimbos de data/hora, indicações sobre como usar rastreamento, diário de servidor e filas de mensagens mortas e dados de transação.

O MessageQueue componente está associado aos três formatadores a seguir, que permitem serializar e desserializar mensagens enviadas e recebidas de filas:

  • O XmlMessageFormatter fornece mensagens flexívelmente acopladas, permitindo o controle de versão independente de tipos serializados no cliente e no servidor.

  • É ActiveXMessageFormatter compatível com o controle COM do MSMQ. Ele permite enviar tipos que podem ser recebidos pelo controle e receber tipos que foram enviados pelo controle.

  • O BinaryMessageFormatter fornece uma alternativa mais rápida para o XmlMessageFormatter, mas sem o benefício de mensagens flexívelmente acopladas.

Outras classes no namespace dão suporte a acesso a Messaging código e segurança baseada em ACL, filtrando Message propriedades ao ler mensagens de uma fila e usando transações ao enviar e receber mensagens.