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 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:
GetPrivateQueuesByMachine(String) permite a recuperação das filas privadas em um computador.
GetPublicQueuesByCategory(Guid), GetPublicQueuesByLabel(String)e GetPublicQueuesByMachine(String) forneça 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 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.