2

ジャーナルが有効になっているMSMQがあります。また、1日に1000を超えるメッセージを受信するため、過去2日間のメッセージのみを保持するようにジャーナルをクリアしたいと思います。したがって、すべてのメッセージを読み、それらのSentTimeプロパティを「現在の日付-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();

    }

}

なぜ私はプロパティにアクセスできないのですか?誰が助けることができますか?どうもありがとう!

4

1 に答える 1

9

使用できます

msgQueue.MessageReadPropertyFilter.SetAll();

すべてのフィルター プロパティを true に設定します。

于 2013-03-19T16:16:09.917 に答える