2009-05-28 4 views
3

MSMQ를 사용하여 WCF를 통해 다른 서비스로 개체를 보내는 시스템이 있습니다. 이 서비스는 메시지를 잘 고르고 그 메시지와 함께해야만하는 것을 수행합니다. 하지만 지금 문제는 호출 시스템에 응답을 보내야한다는 것입니다.
예 :WCF MSMQ 콜백 함수

  1. 는 Windows 서비스
  2. 를 사용하여 큐에서 메시지를 선택
  3. MSMQ
  4. 을 통해 WCF를 사용하여 서비스에 메시지를 보내기 채우기 정보
  5. 을 고객 객체
  6. 만들기 Windows 서비스에서 Customer.Insert() 메서드 호출
  7. 이제 새 고객 ID를 호출 응용 프로그램에 다시 보내야합니다.

아이디어가 있으십니까?

답변

3

당신이 MSMQ에 있지만 기본적으로 양방향 통신을 사용할 수 my article

1

MSMQ 작업은 한 가지 방법이 필요합니다. 메시지를 수신하는 유일한 방법은 호출 응용 프로그램이 응답 MSMQ 바인딩이 없으므로 응답 서비스를 호스팅하는 것입니다.

4

Emmanuel이 지적한 것처럼 - MSMQ 메시지는 단방향으로 디자인되었으며 응답이 없습니다.

가장 좋은 해결책은 "다른 서비스"가 응답 메시지를 삭제할 수있는 응답 대기열을 갖는 것입니다. 그러면 클라이언트가 대기열을 모니터링해야합니다 (예 : 새 메시지에 대해 (매분마다, 30 분마다 - 당신에게 의미가있는대로) 한 번씩 확인하고 처리하십시오.

양방향 (양방향) MSMQ 채널은 없지만 양방향에 대해 별도의 대기열 쌍을 쉽게 만들 수 있습니다.

마크가

+0

흠 참에 모습을 내가 걱정 무엇 이잖아 걸릴. 정보를 주셔서 감사합니다. – Neale