다른 Windows 서비스와 통신해야하는 Windows 서비스가있는 응용 프로그램을 작성하고 있습니다. "대상"서비스는 "원본"서비스의 요청을 수락하고 작업을 수행합니다. "소스"서비스는 응답을 기다리지 않으므로 요청은 가능한 빨리 반환되어야합니다.WCF와의 통신
"대상"서비스 호스트에서 "원본"과 통신 할 WCF 서비스를 계획했습니다. 요청을 받으면 작업을 수행하도록 호스트 Windows 서비스와 통신해야합니다. 나는 "대상"WCF 서비스가 "대상"Windows 서비스가 모니터링 할 MSMQ에 메시지를 넣을 것이라고 생각했습니다. 이 작업이 완료되면 WCF 서비스는 호출자에게 다시 되돌아 갈 수 있습니다.
WCF 서비스가 호스팅 Windows 서비스에 작업을 수행하도록 허용하는 것은 현명한 접근 방식입니까?
친절 감사
마이클
WCF 서비스에서 MSMQ 바인딩을 사용하고 큐에 메시지를 넣고 대기열 서비스를 모니터링하여 작업을 수행하는 TcpBinding WCF 서비스를 갖는 대신 실제 작업을 수행 하시겠습니까? – Michael
TcpBinding없이이 작업을 수행 할 수 있으며 원본 및 대상 Windows 서비스 만 있으면됩니다. 클라이언트 (소스)와 서버 (대상) 모두에서 MSMQ 바인딩을 사용합니다. 대상은 MSMQ 끝점이있는 WCF 서비스 호스트를 호스팅하는 Windows 서비스 일 수 있습니다. 원본 측에는 대상 끝점에 연결하는 WCF MSMQ 클라이언트 바인딩이 있습니다. 소스가 WCF MSMQ를 통해 메시지를 보내면 대상이 자동으로 메시지를 선택합니다.이 시점에서 대상 서비스에서 직접해야하지만 처리 할 수 있습니다. –