문제

메시지 대기열을 사용하여 한 응용 프로그램에서 다른 응용 프로그램으로 메시지를 보내는 메시지가 있습니다 (이것은 특정 시스템에서만 작동해야합니다).

수신기 측에서 이와 같은 큐를 만듭니다.

        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 내가 질문을 잘못 읽지 않는 한, 당신이 원하는 것 같습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top