2009-11-26 2 views
1

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

Я создаю очередь, как это на стороне приемника:

 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 на ресивере машине, что все старые сообщения ушли. Я хотел бы удалить очередь сообщений, когда программа закончится, чтобы она больше не существовала, если я запускаю приложение в следующий раз

Как это сделать?

ответ

Смежные вопросы