Filas no Windows Communication Foundation

Os tópicos desta seção abordam o suporte do WCF (Windows Communication Foundation) para filas. O WCF fornece suporte para o enfileiramento aproveitando o Enfileiramento de Mensagens da Microsoft (anteriormente conhecido como MSMQ) como transporte e permite os seguintes cenários:

  • Aplicativos acoplados de maneira flexível. O envio de aplicativos pode enviar mensagens para filas sem precisar saber se o aplicativo de recebimento está disponível para processar a mensagem. A fila fornece independência de processamento que permite que um aplicativo de envio envie mensagens para a fila a uma velocidade que não depende da rapidez com que os aplicativos de recebimento podem processar as mensagens. A disponibilidade geral do sistema aumenta quando o envio de mensagens para uma fila não é fortemente acoplado ao processamento de mensagens.

  • Isolamento de falha. Os aplicativos que enviam ou recebem mensagens para uma fila podem falhar sem afetar uns aos outros. Se, por exemplo, o aplicativo de recebimento falhar, o aplicativo de envio poderá continuar enviando mensagens para a fila. Quando o receptor estiver ativo novamente, ele poderá processar as mensagens da fila. O isolamento de falha aumenta a confiabilidade e a disponibilidade gerais do sistema.

  • Nivelamento de carga. O envio de aplicativos pode sobrecarregar os aplicativos de recebimento com mensagens. As filas podem gerenciar taxas de consumo e produção de mensagens incompatíveis para que um receptor não fique sobrecarregado.

  • Operações desconectadas. As operações de envio, recebimento e processamento podem se desconectar ao se comunicar em redes de alta latência ou em redes de disponibilidade limitada, como no caso de dispositivos móveis. As filas permitem que essas operações continuem, mesmo quando os pontos de extremidade são desconectados. Quando a conexão é restabelecida, a fila encaminha as mensagens para o aplicativo de recebimento.

Para usar o recurso de filas em um aplicativo WCF, você pode usar uma das associações padrão ou criar uma associação personalizada se uma das associações padrão não atender aos seus requisitos. Para obter mais informações sobre as associações padrão relevantes e como escolher uma, confira Como trocar mensagens com pontos de extremidade do WCF e aplicativos de enfileiramento de mensagens. Para obter mais informações sobre como criar associações personalizadas, confira Associações personalizadas.

Nesta seção

Visão geral de filas
Uma visão geral dos conceitos de enfileiramento de mensagens.

Enfileiramento no WCF
Uma visão geral do suporte à filas do WCF.

Como: fazer intercâmbio de mensagens em fila com pontos de extremidade do WCF
Explica como usar a classe NetMsmqBinding para se comunicar entre um cliente WCF e um serviço WCF.

Como: fazer intercâmbio de mensagens com pontos de extremidade do WCF e aplicativos de enfileiramento de mensagens
Explica como usar a MsmqIntegrationBinding para se comunicar entre aplicativos do WCF e do Enfileiramento de Mensagens.

Agrupamento de mensagens em fila em uma sessão
Explica como agrupar mensagens em uma fila para facilitar o processamento de mensagens correlacionadas por um só aplicativo de recebimento.

Mensagens de lote em uma transação
Explica como enviar mensagens em lote em uma transação.

Utilizando filas de mensagens mortas para manuseio de transferência de mensagens com falha
Explica como lidar com falhas de transferência e entrega de mensagens usando filas de mensagens mortas e como processar mensagens da fila de mensagens mortas.

Manuseio de mensagem suspeita
Explica como processar mensagens suspeitas (mensagens que excederam o número máximo de tentativas de entrega para o aplicativo de recebimento).

Mensagens de segurança que usam a segurança de transporte
Descreve como usar a segurança do transporte para proteger as mensagens na fila.

Protegendo as mensagens com a segurança de mensagens
Descreve como usar a segurança da mensagem para proteger as mensagens na fila.

Mensagens em fila da solução de problemas
Explica como solucionar problemas comuns de filas.

Práticas recomendadas para comunicação em fila
Explica as melhores práticas para uso da comunicação na fila do WCF.