очистить очередь сообщений в C#
-
05-07-2019 - |
Вопрос
Я использую очередь сообщений для отправки сообщений из одного приложения в другое (это должно работать только на одном конкретном компьютере).
Я создаю очередь следующим образом на стороне получателя:
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 на компьютере-получателе, чтобы все старые сообщения исчезли.Я бы хотел удалить очередь сообщений, когда программа завершится, так, чтобы она больше не существовала, если я запущу приложение в следующий раз
Как я могу это сделать?
Решение
Очередность сообщений.Очистить и Очередность сообщений.Удалить кажется, это то, чего вы хотите, если только я не неправильно истолковал вопрос.