2013-02-12 83 views
2

我有一個啓用日誌的MSMQ。由於我們每天收到超過1000封郵件,因此我想清除日記以僅保留最近2天的郵件。因此,我想閱讀所有消息,並根據「當前日期 - 2天」檢查其SentTime屬性。但目前該程序將停止,因爲不會提供Property SentTime。從MSMQ日誌中讀取消息隊列發送時間

錯誤: 「PropertyFilter設置不正確」

代碼:

class Program { 

    static void Main(string[] args) { 

     string queueName = ".\\private$\\TEST;journal"; 

     MessageQueue msgQueue = new MessageQueue(queueName); 
     Message[] messages = msgQueue.GetAllMessages(); 

     try{ 

      foreach (Message msg in messages){ 
       //if(msg.SentTime < DateTime.Today.AddDays(-2)){ 
        Console.WriteLine(msg.SentTime); 
       //} 
      } 

     }catch (Exception e){ 

      Console.WriteLine(e.Message); 

     } 

     Console.Read(); 

    } 

} 

爲什麼我到物業進不去? 誰可以幫忙? 非常感謝!

+1

我可以自己回答我的問題。屬性過濾器將被設置爲: msgQueue.MessageReadPropertyFilter.SentTime = true; 這就是全部! – 2013-02-12 09:04:01

+0

感謝您的問題也爲您的答案... – Vishnu 2013-10-01 06:15:08

回答

6

您可以使用

msgQueue.MessageReadPropertyFilter.SetAll(); 

,這將設置所有過濾器屬性設置爲true。

+0

P ...一直在抓我的頭! – 2014-09-26 09:28:12

相關問題