Share via


Gerenciamento de estado

Um aplicativo que mantém o estado, o armazena normalmente em tabelas de banco de dados. Como cada grupo de conversação tem um identificador exclusivo, esse identificador é usado normalmente como uma chave para a tabela de estado. O Service Broker também fornece retenção de mensagem para aplicativos que devem preservar as mensagens precisas enviadas e recebidas.

Muitos aplicativos não requerem o estado. Em geral, um aplicativo manterá o estado se a tarefa envolver mais de uma mensagem e existir informações sobre a tarefa que não podem ser armazenadas nas tabelas existentes para o banco de dados.

Por exemplo, um aplicativo que consulta e retorna informações de cliente não requer estado e não usa uma tabela de estado. Por outro lado, um aplicativo que gerencia a realização da ordem gera solicitações a vários outros serviços. Um programa que coordena solicitações a outros serviços usa freqüentemente uma tabela de estado para rastrear as solicitações. O aplicativo atualizará as tabelas de dados e desmarcará a tabela de estado quando todas as solicitações tiverem sido concluídas com êxito. Se uma solicitação retornar um erro, o aplicativo reenviará a solicitação ou usará a tabela de estado para enviar uma solicitação compensadora.

Um aplicativo também pode usar uma tabela de estado para auditar ou registrar os objetivos. O aplicativo salva as informações importantes sobre cada solicitação na tabela de estado. Nesse caso, o aplicativo não exclui informações da tabela de estado quando uma conversação é concluída.

Alguns aplicativos podem exigir um registro preciso das mensagens enviadas e recebidas enquanto a conversação está ativa. Para este cenário, o Service Broker fornece a retenção de mensagem.