System.Messaging Namespace
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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:
GetPrivateQueuesByMachine(String) permite a recuperação das filas privadas em um computador.
GetPublicQueuesByCategory(Guid), GetPublicQueuesByLabel(String)e GetPublicQueuesByMachine(String) fornecem maneiras de recuperar filas públicas por critérios comuns. Uma sobrecarga de GetPublicQueues fornece detalhes ainda mais finos para selecionar filas com base em vários critérios de pesquisa.
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.