Nécessité de traiter une purge hebdomadaire du journal de la file d'attente du système.Comment purger un journal de files d'attente système MSMQ par programme?
5
A
Répondre
1
MessageQueue mq = new MessageQueue(".\\Journal$");
mq.Purge();
ou
MessageQueue mq = new MessageQueue(".\\myQueue\\Journal$");
mq.Purge();
si son pour une file d'attente vous avez créé. Assurez-vous que l'utilisateur dispose des autorisations appropriées. Voir: http://msdn.microsoft.com/en-us/library/system.messaging.messagequeue.aspx
1
MessageQueue mq = new MessageQueue("DIRECT=OS:computername\SYSTEM$;JOURNAL");
mq.Purge();
5
Le format correct pour les files d'attente du système:
FormatName:Direct=os:.\\System$;JOURNAL
Je l'ai testé ce format sous Windows 7 et Windows 2003.
(le point après l'OS: désigne l'ordinateur localhost/local)
var systemJournalQueue = new MessageQueue("FormatName:Direct=os:.\\System$;JOURNAL");
var systemDeadLetterQueue = new MessageQueue("FormatName:Direct=os:.\\System$;DEADLETTER");
var systemDeadXLetterQueue =new MessageQueue("FormatName:Direct=os:.\\System$;DEADXACT"));
systemJournalQueue.Purge();
ou si vous voulez garder N jours de messages que vous pouvez faire ceci:
private static void PurgeQueues(int archiveAfterHowManyDays, MessageQueue queue)
{
queue.Formatter = new XmlMessageFormatter(new Type[] { typeof(System.String) });
queue.MessageReadPropertyFilter.ArrivedTime = true;
using (MessageEnumerator messageReader = queue.GetMessageEnumerator2())
{
int counter = 0;
while (messageReader.MoveNext())
{
Message m = messageReader.Current;
if (m.ArrivedTime.AddDays(archiveAfterHowManyDays) < DateTime.Now)
{
queue.ReceiveById(m.Id);
counter++;
}
}
}
}
Questions connexes
- 1. MSMQ ne peut pas supprimer ou purger une file d'attente
- 2. Comment ouvrir le journal des événements par programme?
- 3. Supprimer un message unique MSMQ
- 4. système de files d'attente de messages d'entreprise pour Windows Server
- 5. L'IE Fieldset couleur de fond Purger Bug
- 6. Comment le programme devient un processus. Comment le système d'exploitation fait-il du programme un processus?
- 7. Moniteur MSMQ
- 8. Évolutivité MSMQ
- 9. Comment programmer un routeur par programme?
- 10. Comment supprimer un raccourci annoncé par programme?
- 11. Comment définissez-vous un attribut par programme?
- 12. Comment afficher un NSMenu par programme?
- 13. Comment arrêter un service Windows par programme?
- 14. Comment donner un focus UITextView par programme?
- 15. Comment exécuter NUnit par programme
- 16. Files d'attente de semaphores
- 17. Comment puis-je déterminer par programme l'emplacement du journal d'application VB?
- 18. Soumettre par programme un formulaire
- 19. Pourquoi le stockage pour MSMQ est-il plein lorsque les files d'attente elles-mêmes sont vides?
- 20. Files d'attente en conflit
- 21. MSMQ sur un contrôleur de domaine par défaut en mode groupe de travail, comment passer en mode Domaine?
- 22. Supprimer le cache IE par programme dans un système d'exploitation 64 bits
- 23. Question d'installation: "Program Files" ou "Program Files (x86)"?
- 24. Désinscription d'un port d'envoi BizTalk MSMQ dans un fichier batch
- 25. log4j avec horodatage par entrée de journal
- 26. Comment MSMQ gère-t-il les messages?
- 27. Soumettre un formulaire par programme
- 28. MSMQ 3.0/4.0 télécharger
- 29. Implémentation d'un système abonné/éditeur avec MSMQ avec des points de terminaison dynamiques
- 30. Comment faire un défilement de la souris par programme?
Le format correct: var mq = new MessageQueue ("FormatName: Direct = os. \\ $ du système; JOURNAL"); –