我有一个启用了期刊的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();
}
}
为什么我无法访问该属性? 谁可以帮忙? 非常感谢!
答案 0 :(得分:6)
您可以使用
msgQueue.MessageReadPropertyFilter.SetAll();
并将所有过滤器属性设置为true。