Partilhar via


System.Messaging Namespace

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

Classes

AccessControlEntry

Especifica os direitos de acesso para um objeto de confiança (usuário, grupo ou computador) para realizar as implementações específicas ao aplicativo de tarefas comuns.

AccessControlList

Contém uma lista de entradas de controle de acesso, especificando os direitos de acesso para um ou mais confiáveis.

ActiveXMessageFormatter

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

BinaryMessageFormatter

Serializa ou desserializa um objeto ou um grafo inteiro de objetos conectados, de ou para o corpo de uma mensagem do 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 diferentes das instâncias Message para uma fila de mensagens.

Message

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

MessageEnumerator

Fornece um cursor somente de avanço 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 de um servidor do Enfileiramento de Mensagens.

MessageQueueAccessControlEntry

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

MessageQueueCriteria

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

MessageQueueEnumerator

Fornece um cursor somente de avanço para enumerar por meio de mensagens em uma fila de mensagens.

MessageQueueException

A exceção que é lançada se ocorrer um erro interno do 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 do código para mensagens.

MessageQueuePermissionAttribute

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

MessageQueuePermissionEntry

Define a menor unidade de uma permissão de segurança de acesso do código definida para mensagens.

MessageQueuePermissionEntryCollection

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

MessageQueueTransaction

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

MessagingDescriptionAttribute

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

PeekCompletedEventArgs

Fornece dados para o evento de 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 de ReceiveCompleted . Quando a operação assíncrona de recebimento chama um manipulador de eventos, uma instância dessa classe é passada para o manipulador.

SecurityContext

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

Trustee

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

XmlMessageFormatter

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

Interfaces

IMessageFormatter

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

Enumerações

AccessControlEntryType

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

AcknowledgeTypes

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

Acknowledgment

Especifica o resultado de uma tentativa de entrega de mensagem.

CryptographicProviderType

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

EncryptionAlgorithm

Especifica o algoritmo de encriptação utilizado para criptografar o corpo da mensagem de uma mensagem privada.

EncryptionRequired

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

GenericAccessRights

Usa o formato de acesso do Windows 2000 e Windows NT para especificar um conjunto comum de direitos de acesso que o Enfileiramento de Mensagens mapeia tanto para os direitos de acesso padrão quanto para aqueles específicos de objetos para leitura, gravação e execução.

HashAlgorithm

Especifica o algoritmo de hash usado pelo Serviço de Enfileiramento de Mensagens na autenticação de mensagens.

MessageLookupAction

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

MessagePriority

Especifica que a prioridade Enfileiramento de Mensagens aplica-se a uma mensagem enquanto ela estiver em trânsito para uma fila e ao inserir a mensagem na fila de destino.

MessageQueueAccessRights

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

MessageQueueErrorCode

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

MessageQueuePermissionAccess

Define os níveis de acesso usados pelas 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 do serviço de enfileiramento de mensagens, uma mensagem de confirmação positiva (de chegada e de leitura) ou negativa (de chegada e de leitura) ou uma mensagem de relatório.

PeekAction

Indica se é necessário espiar a mensagem atual em uma fila ou a 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 corresponde a operações comuns para a maioria dos tipos de objetos protegíveis.

TrusteeType

Especifica o tipo de um objeto de confiança.

Delegados

PeekCompletedEventHandler

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

ReceiveCompletedEventHandler

Representa o método que manipulará o evento de ReceiveCompleted de 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 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 é 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, como 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)BeginReceive, e EndReceive(IAsyncResult) fornecem 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 seguintes métodos 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 enfileiramento 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 Message classe incluem configurações de 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, registro em diário do 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 vagamente acopladas, permitindo o controle de versão independente de tipos serializados no cliente e no servidor.

  • O ActiveXMessageFormatter é compatível com o controle COM do MSMQ. Ele permite que você envie tipos que podem ser recebidos pelo controle e recebam tipos que foram enviados pelo controle.

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

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