C# 从MSMQ日志读取消息队列发送时间

C# 从MSMQ日志读取消息队列发送时间,c#,properties,message-queue,journal,C#,Properties,Message Queue,Journal,我有一个启用日志的MSMQ。由于我们每天收到1000多条消息,我想清除日志,只保留过去两天的消息。因此,我想阅读所有邮件,并对照“当前日期-2天”检查其SentTime属性。但目前该计划将停止,因为无法提供时间 错误:“未正确设置PropertyFilter” 守则: class Program { static void Main(string[] args) { string queueName = ".\\private$\\TEST;journal";

我有一个启用日志的MSMQ。由于我们每天收到1000多条消息,我想清除日志,只保留过去两天的消息。因此,我想阅读所有邮件,并对照“当前日期-2天”检查其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();

    }

}
类程序{
静态void Main(字符串[]参数){
字符串queueName=“.\\private$\\TEST;journal”;
MessageQueue msgQueue=新的MessageQueue(queueName);
Message[]messages=msgQueue.GetAllMessages();
试一试{
foreach(消息中的消息msg){
//如果(msg.SentTime
为什么我无法进入该物业? 谁能帮忙? 非常感谢

您可以使用

msgQueue.MessageReadPropertyFilter.SetAll();

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

我可以自己回答我的问题。属性筛选器将通过以下方式设置:msgQueue.MessageReadPropertyFilter.SentTime=true;就这些!谢谢你的问题,也谢谢你的回答。。。我一直在用那个东西搔我的头!