【问题标题】:read message queue sent time from MSMQ Journal从 MSMQ 日志中读取消息队列发送时间
【发布时间】:2013-01-27 12:23:21
【问题描述】:

我有一个启用了日志的 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();

    }

}

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

【问题讨论】:

  • 我可以自己回答我的问题。属性过滤器将通过以下方式设置:msgQueue.MessageReadPropertyFilter.SentTime = true;就是这样!
  • 感谢您的问题也为您的回答...

标签: c# properties message-queue journal


【解决方案1】:

你可以使用

msgQueue.MessageReadPropertyFilter.SetAll();

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

【讨论】:

  • 呸...一直在用那个挠头!
猜你喜欢
  • 2012-02-12
  • 2017-04-27
  • 1970-01-01
  • 2013-12-31
  • 2018-02-02
  • 2012-05-20
  • 1970-01-01
  • 1970-01-01
  • 2012-11-14
相关资源
最近更新 更多