सिस्टम कतार जर्नल के साप्ताहिक शुद्ध को बैच करने की आवश्यकता है।प्रोग्रामिंग के रूप में एक एमएसएमक्यू सिस्टम कतार जर्नल कैसे शुद्ध करें?
5
A
उत्तर
1
MessageQueue mq = new MessageQueue(".\\Journal$");
mq.Purge();
या
MessageQueue mq = new MessageQueue(".\\myQueue\\Journal$");
mq.Purge();
अगर इसकी एक कतार के लिए आपके द्वारा बनाए। सुनिश्चित करें कि उपयोगकर्ता की सही अनुमतियां हैं। देखें: http://msdn.microsoft.com/en-us/library/system.messaging.messagequeue.aspx
1
MessageQueue mq = new MessageQueue("DIRECT=OS:computername\SYSTEM$;JOURNAL");
mq.Purge();
5
सही प्रारूप प्रणाली कतारों के लिए:
FormatName:Direct=os:.\\System$;JOURNAL
मैं विंडोज 7 और विंडोज 2003
(डॉट पर इस प्रारूप परीक्षण किया है ओएस के बाद: स्थानीयहोस्ट/स्थानीय कंप्यूटर का मतलब है)
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();
या आप संदेशों के एन दिनों आप ऐसा कर सकते हैं रखना चाहते हैं:
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++;
}
}
}
}
सही स्वरूप: वर MQ = नए MessageQueue ("FormatName: प्रत्यक्ष = ओएस:। \\ सिस्टम $; जर्नल "); –