Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O Serviço de Ativação de Processos do Windows (WAS) gerencia a ativação e o tempo de vida dos processos de trabalho que contêm aplicativos que hospedam serviços WCF (Windows Communication Foundation). O modelo de processo WAS generaliza o modelo de processo do IIS 6.0 para o servidor HTTP removendo a dependência do HTTP. Isso permite que os serviços WCF usem protocolos HTTP e não-HTTP, como net.msmq e msmq.formatname, em um ambiente de hospedagem que oferece suporte à ativação baseada em mensagem e oferece a capacidade de hospedar um grande número de aplicativos em um determinado computador.
O WAS inclui um serviço de ativação do Message Queuing (MSMQ) que ativa uma aplicação em fila quando uma ou mais mensagens são colocadas numa das filas usadas pela aplicação. O serviço de ativação MSMQ é um serviço NT que é iniciado automaticamente por padrão.
Para obter mais informações sobre o WAS e seus benefícios, consulte Hospedagem no Serviço de Ativação de Processos do Windows. Para obter mais informações sobre o MSMQ, consulte Visão geral de filas.
Endereçamento de fila no WAS
Os aplicativos WAS têm endereços URI (Uniform Resource Identifier). Os endereços de aplicativo têm duas partes: um prefixo de URI base e um endereço relativo específico do aplicativo (caminho). Essas duas partes fornecem o endereço externo para um aplicativo quando unidas. O prefixo URI base é construído a partir da vinculação do site e é usado para todos os aplicativos no site, por exemplo, "net.msmq://localhost", "msmq.formatname://localhost" ou "net.tcp://localhost". Os endereços de aplicativo são então construídos pegando fragmentos de caminho específicos do aplicativo (como "/applicationOne") e acrescentando-os ao prefixo URI base para chegar ao URI completo do aplicativo, por exemplo, "net.msmq://localhost/applicationOne".
O serviço de ativação do MSMQ usa o URI da aplicação para identificar a fila que o serviço de ativação do MSMQ deve monitorar para mensagens. Quando o serviço de ativação do MSMQ é iniciado, ele enumera todas as filas públicas e privadas no computador do qual está configurado para receber e as monitora em busca de mensagens. A cada 10 minutos, o serviço de ativação do MSMQ atualiza a lista de filas a serem monitoradas. Quando uma mensagem é encontrada numa fila, o serviço de ativação faz a correspondência entre o nome da fila e o URI mais longo do aplicativo correspondente para o binding net.msmq e ativa o aplicativo.
Observação
O aplicativo que está sendo ativado deve corresponder (correspondência mais longa) ao prefixo do nome da fila.
Por exemplo, o nome de uma fila é: msmqWebHost/orderProcessing/service.svc. Se o Aplicativo 1 tiver um diretório virtual /msmqWebHost/orderProcessing com um service.svc sob ele, e o Aplicativo 2 tiver um diretório virtual /msmqWebHost com um orderProcessing.svc sob ele, o Aplicativo 1 será ativado. Se o Aplicativo 1 for excluído, o Aplicativo 2 será ativado.
Observação
Quando uma fila é criada, todas as mensagens enviadas a ela não ativam um aplicativo até que o serviço de ativação do MSMQ atualize a lista de filas, que é, no máximo, 10 minutos a partir do momento em que a fila foi criada. Reiniciar o serviço de ativação também atualiza a lista de filas.
O efeito das filas privadas e públicas na gestão
O serviço de ativação do MSMQ não distingue entre monitoramento de fila privado e público. Como tal, não pode ter filas públicas e privadas com o mesmo nome. Se você fizer isso, um aplicativo hospedado na Web pode obter leitura ativada de qualquer uma das filas.
Configuração de fila para a ativação
O serviço de ativação do MSMQ é executado como SERVIÇO DE REDE. É o serviço que monitora filas para ativar aplicativos. Para que ele ative aplicativos da fila, a fila deve fornecer acesso ao SERVIÇO DE REDE para espiar mensagens em sua lista de controle de acesso (ACL).
Mensagens venenosas
O tratamento de mensagens suspeitas no WCF é manipulado pelo canal, que não apenas deteta que uma mensagem está envenenada, mas seleciona uma disposição com base na configuração do usuário. Como resultado, há uma única mensagem na fila. O aplicativo hospedado na Web falha sucessivas vezes e a mensagem é movida para uma nova fila de tentativas. No momento determinado pelo atraso do ciclo de repetição, a mensagem é movida da fila de repetição para a fila principal para uma nova tentativa. Mas isso requer que o canal em fila esteja ativo. Se o aplicativo for reciclado pelo WAS, a mensagem permanecerá na fila de novas tentativas até que outra mensagem chegue à fila principal para ativar o aplicativo em fila. A solução alternativa, nesse caso, é mover a mensagem manualmente da fila de repetição de volta para a fila principal para reativar o aplicativo.
Subfila e Ressalva da fila do sistema
Um aplicativo hospedado no WAS não pode ser ativado com base nas mensagens em uma fila do sistema, como a fila de mensagens sem entrega, ou subfilas, como subfilas de mensagens envenenadas. Esta é uma limitação para esta versão do produto.