문제
메시지 대기열을 사용하여 한 응용 프로그램에서 다른 응용 프로그램으로 메시지를 보내는 메시지가 있습니다 (이것은 특정 시스템에서만 작동해야합니다).
수신기 측에서 이와 같은 큐를 만듭니다.
string queueName = ".\\private$\\WZMSGQ";
if (MessageQueue.Exists(queueName))
msgQueue = new MessageQueue(queueName);
else
msgQueue = MessageQueue.Create(queueName, false);
그리고 그 후 나는 발신자 응용 프로그램을 시작하여 다음과 같은 대기열을 만듭니다.
msgQueue = new MessageQueue(".\\private$\\WZMSGQ");
수신기 응용 프로그램에서 새 메시지를 검색합니다.
Message[] messages = msgQueue.GetAllMessages();
foreach (Message msg in messages){
doSomething();
}
이제 두 가지 일을하고 싶습니다.
모든 오래된 메시지가 사라지도록 수신기 시스템에서 새 Messageque 인스턴스를 인스턴스화 할 때 메시지 대기열을 지우고 싶습니다. 다음에 응용 프로그램을 시작하면 더 이상 존재하지 않도록 프로그램이 종료 될 때 메시지 대기열을 삭제하고 싶습니다.
어떻게 할 수 있습니까?
해결책
Messagequeue.purge 그리고 Messagequeue.delete 내가 질문을 잘못 읽지 않는 한, 당신이 원하는 것 같습니다.
제휴하지 않습니다 StackOverflow