Compartilhar via


Recebendo uma resposta

Como os componentes em fila são projetados para funcionar de forma assíncrona, os aplicativos cliente não devem ser bloqueados enquanto aguardam uma resposta de uma solicitação em fila. No entanto, geralmente é útil para o aplicativo cliente ou um aplicativo relacionado na máquina cliente para receber uma resposta eventualmente. Por exemplo, um cliente pode desejar ser notificado quando uma transação solicitada tiver sido concluída com êxito.

Há várias maneiras de um componente em fila enviar uma resposta de volta ao chamador de forma assíncrona. Por exemplo, ele poderia enviar um e-mail. Como alternativa, o servidor poderia publicar eventos fracamente acoplados aos quais o cliente poderia se inscrever.

Outra maneira de um cliente obter uma resposta de um componente em fila executado em um servidor é o cliente passar o método chamado um objeto de notificação. Um objeto de notificação é uma instância de um componente em fila que é executado no cliente. Esse objeto de notificação pode ser bastante simples, contendo apenas um inteiro que é usado para representar um valor de erro, ou pode ser bastante complexo, contendo todas as informações necessárias para reverter uma transação no cliente. Em ambos os casos, o cliente de chamada passa um objeto de notificação como um parâmetro de entrada sempre que deseja uma resposta de um componente em fila executado em um servidor. Como o objeto de notificação está na fila, o servidor pode chamar seus métodos para alterar seu estado, que pode ser lido subsequentemente pelo cliente. Nesse cenário, o serviço de componentes em fila COM+ é usado no cliente e no servidor para permitir a comunicação assíncrona em ambas as direções.