2010-03-19 4 views
1

Windows Azure 대기열과 통신하기 위해 데스크톱 콘솔 앱이 필요한 시나리오가 있습니다. 가장 중요한 것은 메시지가 결국 서버에 수신된다는 것입니다. 또한 데스크탑 응용 프로그램이 인터넷에서 분리되는 경우가 있습니다. 전통적인 WCF + MSMQ 접근 방식에서는 MSMQ가 서버의 MSMQ에 도달하여 메시지를 보낼 때까지 MSMQ에 캐시 된 메시지를 보낼 수 있습니다. Windows Azure가 서버 측일 때 동등한 기능은 무엇입니까?Windows Azure 대기열, WCF, MSMQ 통합

MSMQ가 Windows Server의 MSMQ 대신 Windows Azure Queue와 통신하는 동일한 접근 방식을 사용할 수 있습니까?

어쩌면 Windows Azure 대기열이 잘못된 방법일까요? 메시지 버퍼라는 것을 들었지만 이것이 무엇인지는 아직 모릅니다. 푸른 대기열 저장에 메시지를 대기하기 위해 여러분의 도움이

크리스

답변

1

인터넷에 연결이 다시되었을 때 푸른 큐에 메시지를 이동 완료 MSMQ를 수신 서비스를 작성할 수 있습니다. 나는 이것이 너무 어려울 것이라고 생각하지 않는다.

업데이트 아마도 내 대답은 분명하지 않았습니다. 질문에 따라 클라이언트가 인터넷에 연결되는 경우가 있으므로 intertubes가 풀리지 않을 때까지 메시지를 파킹 할 방법이 필요합니다. Windows를 사용하는 가장 쉬운 방법은 메시지를 MSMQ 로컬 큐에 넣는 것입니다. 그런 다음 해당 대기열을 모니터링하는 서비스가 있습니다. 메시지가 있고 클라우드에 호스팅 된 서비스를받을 수 있으면 메시지를 보냅니다. 메시지가 전송되면 큐에서 삭제할 수 있습니다.

+0

안녕하세요, 나는 메시지 지향보다는 메시지 지향적으로 서비스를 유지해야합니다. 예를 들어, msmq를 통해 WCF 메시지 페이로드를 채널 한 다음 하늘빛 나는 이것이 의미에서 지원되지 않는다고 확신한다면, WCF Azure 바인딩은 MSMQ 바인딩과 다르므로 두 채널의 메시지 페이로드가 호환되지 않습니다. 모든 것은 메시지 지향적이어야하며 기본적으로 서비스보다는 메시지에 대해 걱정하는 것을 의미합니다. 나는이 이유와 하늘색 비용 때문에 전통적인 WCF/MSMQ/IIS7/Win2008 경로를 사용하기로 결정했습니다. – krisdyson

+0

위의 업데이트를 참조하십시오. – Jake

0

에 대한

덕분에 인터넷에 연결되어 있어야합니다. 연결되지 않은 시나리오를 처리하려는 경우 이는 전적으로 귀하에게 달려 있습니다. 솔루션을 매우 간단하게 유지하고 SQL Server Compact와 같은 로컬 스토리지를 사용하고 연결 가능성이있을 때 메시지를 보낼 수 있습니다 (Windows 서비스의 도움으로) (데스크톱 응용 프로그램을 실행할 필요가 없도록) .

+0

hmmm 그것은 모든면에서 WCF와 MSMQ를 사용하여 즉시 사용 가능하기 때문에 수치 스럽습니다. – krisdyson