O SRMP exemplo demonstra como executar comunicação em fila transacionada usando o MSMQ (Enfileiramento de Mensagens) via HTTP.
Na comunicação na fila, o cliente se comunica com o serviço usando uma fila. Mais precisamente, o cliente envia mensagens para uma fila. O serviço recebe mensagens da fila. Portanto, o serviço e o cliente não precisam estar em execução ao mesmo tempo para se comunicar usando uma fila.
O MSMQ permite o uso de HTTP (incluindo o uso de HTTPS) para enviar mensagens para uma fila. Neste exemplo, demonstramos como usar a comunicação enfileirada do Windows Communication Foundation (WCF) e como enviar mensagens via HTTP. O MSMQ usa um protocolo chamado SRMP, que é um protocolo baseado em SOAP para comunicação via HTTP.
Antes de executar o exemplo em Adicionar/Remover Componentes do Windows, verifique se o MSMQ está instalado com suporte para HTTP. A instalação do suporte para HTTP instala automaticamente o IIS (Serviços de Informações da Internet) e adiciona o suporte ao protocolo no IIS para MSMQ.
Se quiser ter certeza de que o HTTP será usado para comunicação, você pode permitir que o MSMQ seja executado no modo protegido. Isso garante que nenhuma mensagem para qualquer fila hospedada no computador possa chegar usando qualquer transporte não HTTP.
Depois de selecionar o MSMQ para ser executado no modo protegido, o computador requer uma nova inicialização no Windows Server 2003.
Executar o serviço.
Execute o cliente. Verifique se você alterou o endereço do ponto de extremidade para apontar para o nome do computador ou endereço IP em vez de localhost. O cliente envia uma mensagem e sai.
Requisitos
Para executar este exemplo, o IIS deve ser instalado no serviço e nos computadores cliente, além do MSMQ.
Demonstra
O exemplo demonstra o envio de mensagens enfileiradas do WCF usando o MSMQ via HTTP. Isso também é chamado de mensagens SRMP. Quando uma mensagem enfileirada é enviada, o MSMQ no computador de envio transfere as mensagens para o gerenciador de filas de recebimento via TCP ou transporte HTTP. Ao escolher SRMP, o usuário indica a opção de HTTP como um transporte para transferência de fila. O SRMP Secure habilita o uso de HTTPS.
Exemplo
O código de exemplo é baseado no exemplo transacionado. Como enviar uma mensagem para a fila e receber uma mensagem da fila usando SRMP é o mesmo que enviar e receber mensagens usando um protocolo nativo.
A configuração do cliente é alterada para indicar a escolha do protocolo de transferência de fila. O protocolo de transferência de fila pode ser Nativo, SRMP ou SrmpSecure. Por padrão, o protocolo de transferência é nativo. O cliente e o serviço especificam na configuração para usar o SRMP neste exemplo.
Há limitações para SRMP em relação à segurança do transporte. A segurança de transporte padrão do MSMQ requer o Active Directory que exige que o gerenciador de filas de envio e o gerenciador de filas de recebimento residam no mesmo domínio do Windows. Isso não é possível ao enviar mensagens pelo limite de HTTP. Assim, a segurança de transporte padrão não funciona. A segurança do transporte deve ser definida como Certificado caso seja desejada a segurança do transporte. A segurança da mensagem também pode ser usada para proteger a mensagem. Neste exemplo, a segurança do transporte e da mensagem é desativada para ilustrar as mensagens SRMP.
Processing Purchase Order: 556b70be-31ee-4a3b-8df4-ed5e538015a4
Customer: somecustomer.com
OrderDetails
Order LineItem: 54 of Blue Widget @unit price: $29.99
Order LineItem: 890 of Red Widget @unit price: $45.89
Total cost of this order: $42461.56
Order status: Pending
Neste módulo, você aprenderá sobre o agente de mensagens do RabbitMQ e como usá-lo para desacoplar microsserviços, garantindo que eles possam se comunicar de forma confiável. Você também verá como o .NET Aspire facilita a integração com o RabbitMQ.