cancella coda messaggi in C #
-
05-07-2019 - |
Domanda
Uso la coda messaggi per inviare messaggi da un'applicazione all'altra (deve funzionare solo su una macchina specifica)
Creo la coda in questo modo sul lato ricevitore:
string queueName = ".\\private$\\WZMSGQ";
if (MessageQueue.Exists(queueName))
msgQueue = new MessageQueue(queueName);
else
msgQueue = MessageQueue.Create(queueName, false);
e successivamente avvio l'applicazione mittente, dove creo la coda in questo modo:
msgQueue = new MessageQueue(".\\private$\\WZMSGQ");
nell'applicazione ricevente Ricevo quindi nuovi messaggi:
Message[] messages = msgQueue.GetAllMessages();
foreach (Message msg in messages){
doSomething();
}
Ora vorrei fare due cose:
Vorrei cancellare la coda dei messaggi quando si crea un'istanza della nuova istanza MessageQueue sulla macchina ricevente in modo che tutti i vecchi messaggi scompaiano. Vorrei eliminare la coda dei messaggi al termine del programma, in modo tale che non esista più se avvio l'applicazione la prossima volta
Come posso farlo?
Soluzione
MessageQueue.Purge e < a href = "http://msdn.microsoft.com/en-us/library/system.messaging.messagequeue.delete.aspx" rel = "nofollow noreferrer"> MessageQueue.Delete sembra essere quello che vuoi , a meno che non abbia letto male la domanda.