응답 받기

큐에 대기 중인 구성 요소는 비동기적으로 작동하도록 설계되었기 때문에 대기 중인 요청의 응답을 기다리는 동안 클라이언트 애플리케이션이 차단되지 않아야 합니다. 그럼에도 불구하고 클라이언트 애플리케이션 또는 클라이언트 컴퓨터의 관련 애플리케이션이 결국 응답을 받는 것이 유용한 경우가 많습니다. 예를 들어 요청된 트랜잭션이 성공적으로 완료되면 클라이언트에 알림을 받을 수 있습니다.

대기 중인 구성 요소가 호출자에게 비동기적으로 응답을 다시 보내는 다양한 방법이 있습니다. 예를 들어 전자 메일을 보낼 수 있습니다. 또는 서버에서 클라이언트가 구독할 수 있는 느슨하게 결합된 이벤트를 게시할 수 있습니다.

클라이언트가 서버에서 실행되는 큐에 대기 중인 구성 요소에서 응답을 가져오는 또 다른 방법은 클라이언트가 호출된 메서드를 알림 개체로 전달하는 것입니다. 알림 개체는 클라이언트에서 실행되는 대기 중인 구성 요소의 인스턴스입니다. 이러한 알림 개체는 오류 값을 나타내는 데 사용되는 정수만 포함하는 매우 간단하거나 클라이언트에서 트랜잭션을 롤백하는 데 필요한 모든 정보를 포함하는 매우 복잡할 수 있습니다. 두 경우 모두 호출 클라이언트는 서버에서 실행되는 대기 중인 구성 요소의 응답을 원하는 때마다 알림 개체를 입력 매개 변수로 전달합니다. 알림 개체가 큐에 대기 중이므로 서버는 해당 메서드를 호출하여 상태를 변경할 수 있으며, 이후에 클라이언트에서 읽을 수 있습니다. 이 시나리오에서는 클라이언트와 서버 모두에서 COM+ 큐에 대기된 구성 요소 서비스를 사용하여 양방향으로 비동기 통신을 허용합니다.