2012-11-26 3 views
1

MSMQ 큐에 의해 구동되는 시스템에서 사용할 수있는 관리 정보를 얻으려고합니다. 메시지가 대기열에서 성공적으로 대기열에서 제외 된시기를 알기 위해 청취 할 수있는 이벤트가 있는지 알고 싶습니다.메시지가 MSMQ 대기열에서 대기열에서 제외 될 때 발생하는 이벤트가 있습니까?

이상적으로 이벤트는 .NET 응용 프로그램을 통해 소비됩니다.

이렇게하면받는 서비스 끝점에 논리를 구현하지 않고 큐를 통과하는 메시지 양을 추적하고 수신기 (어떤 경우에는 BizTalk가 될 것입니다)와 상관없이 일반적인 메커니즘을 사용할 수 있습니다.

+0

아니요, 메시지를 대기열에서 제외 할 때 나만의 이벤트를 발생 시키십시오. 이것이 다른 응용 프로그램이면 double no, 이벤트가 프로세스 경계를 ​​넘어서 작동하지 않습니다. –

+0

@Hans Passant, BizTalk는 메시지 큐에서 읽는 동안 이벤트를 발생시키지 않습니다. COM 이벤트는 교차 프로세스 (http://msdn.microsoft.com/en-us/library/windows/desktop/ms705317(v=vs.85).aspx)에서 작동해야하지만 경험이 없습니다. 내게 맞는 사건이 있는지 알아라. –

답변

1

MessageQueue.BeginReceive 비동기 방법은 메시지가 성공적으로 수신되어 대기열에서 제거 된 경우 ReceivedCompleted 이벤트를 발생시킵니다.

+0

내 응용 프로그램이 .NET 서비스 나 BizTalk 어댑터에서 WCF 바인딩을 통해 메시지를 소비하는 대신 'BeginReceive'를 호출하지 않습니다. –

+0

아, 죄송합니다. 질문을 제대로 읽지 못했습니다. –

관련 문제