Получение ответа
Так как компоненты очереди предназначены для асинхронной работы, клиентские приложения не должны блокироваться во время ожидания ответа из очереди запроса. Тем не менее, это часто полезно для клиентского приложения или связанного приложения на клиентском компьютере, чтобы получить ответ в конечном итоге. Например, клиенту может потребоваться получать уведомления о успешном завершении запрошенной транзакции.
Существует множество способов отправки ответа в очередь вызывающей стороне асинхронно. Например, он может отправить сообщение электронной почты. Кроме того, сервер может публиковать слабо связанные события, на которые клиент может подписаться.
Другим способом получения ответа от компонента очереди, работающего на сервере, является передача вызываемого метода объекта уведомления клиентом. Объект уведомления — это экземпляр компонента очереди, который выполняется на клиенте. Такой объект уведомления может быть довольно простым, содержащий только целое число, которое используется для представления значения ошибки или может быть довольно сложным, содержащее все сведения, необходимые для отката транзакции на клиенте. В любом случае вызывающий клиент передает объект уведомления в качестве входного параметра всякий раз, когда он хочет ответ от очередного компонента, работающего на сервере. Так как объект уведомления помещается в очередь, сервер может вызывать методы для изменения состояния, которое впоследствии может быть прочитано клиентом. В этом сценарии служба компонентов COM+ используется как на клиенте, так и на сервере, чтобы разрешить асинхронное взаимодействие в обоих направлениях.