Вопрос

Я использую очередь сообщений для отправки сообщений из одного приложения в другое (это должно работать только на одном конкретном компьютере).

Я создаю очередь следующим образом на стороне получателя:

        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();
        }

Теперь я хотел бы сделать две вещи:

Я хотел бы очистить очередь сообщений при создании экземпляра нового экземпляра MessageQueue на компьютере-получателе, чтобы все старые сообщения исчезли.Я бы хотел удалить очередь сообщений, когда программа завершится, так, чтобы она больше не существовала, если я запущу приложение в следующий раз

Как я могу это сделать?

Это было полезно?

Решение

Очередность сообщений.Очистить и Очередность сообщений.Удалить кажется, это то, чего вы хотите, если только я не неправильно истолковал вопрос.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top