effacer Message Queue en C #
-
05-07-2019 - |
Question
J'utilise Message Queue pour envoyer des messages d'une application à l'autre (cela ne doit fonctionner que sur un seul ordinateur)
Je crée la file d'attente comme ceci du côté du récepteur:
string queueName = ".\\private$\\WZMSGQ";
if (MessageQueue.Exists(queueName))
msgQueue = new MessageQueue(queueName);
else
msgQueue = MessageQueue.Create(queueName, false);
et après cela, je lance l'application émettrice, où je crée la file d'attente comme suit:
msgQueue = new MessageQueue(".\\private$\\WZMSGQ");
dans l'application destinataire, je récupère ensuite les nouveaux messages:
Message[] messages = msgQueue.GetAllMessages();
foreach (Message msg in messages){
doSomething();
}
J'aimerais maintenant faire deux choses:
Je souhaite effacer la file de messages lors de l'instanciation de la nouvelle instance de MessageQueue sur la machine réceptrice, de manière à supprimer tous les anciens messages. Je souhaite supprimer la file de messages à la fin du programme, de sorte qu'elle n'existe plus si je lance l'application la prochaine fois
Comment puis-je faire cela?
La solution
MessageQueue.Purge et < a href = "http://msdn.microsoft.com/en-us/library/system.messaging.messagequeue.delete.aspx" rel = "aucune erreur"> MessageQueue.Delete semble être ce que vous voulez , sauf si j'ai mal interprété la question.