2

我有一个启用了日志的 MSMQ。由于我们每天收到超过 1000 条消息,我想清除日志以仅保留最近 2 天的消息。因此,我想阅读所有消息并根据“当前日期 - 2 天”检查它们的 SentTime 属性。但目前该程序将停止,因为不会提供 Property SentTime。

错误:“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();

    }

}

为什么我无法访问该物业?谁能帮忙?非常感谢!

4

1 回答 1

9

您可以使用

msgQueue.MessageReadPropertyFilter.SetAll();

它会将所有过滤器属性设置为true。

于 2013-03-19T16:16:09.917 回答