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?

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top