質問
メッセージキューを使用して、1つのアプリケーションから別のアプリケーションにメッセージを送信します(これは1つの特定のマシンでのみ動作する必要があります)
受信側で次のようにキューを作成します:
string queueName = ".\\private$\\WZMSGQ";
if (MessageQueue.Exists(queueName))
msgQueue = new MessageQueue(queueName);
else
msgQueue = MessageQueue.Create(queueName, false);
この後、送信者アプリケーションを起動し、そこでキューを作成します:
msgQueue = new MessageQueue(".\\private$\\WZMSGQ");
受信側アプリケーションで、新しいメッセージを取得します:
Message[] messages = msgQueue.GetAllMessages();
foreach (Message msg in messages){
doSomething();
}
今、私は2つのことをしたいです
古いメッセージがすべてなくなるように、受信側マシンで新しいMessageQueueインスタンスをインスタンス化するときにメッセージキューをクリアしたいと思います。 プログラムが終了したときにメッセージキューを削除したいので、次回アプリケーションを起動したときにメッセージキューがもう存在しないようにします
どうすればそれができますか?
解決
MessageQueue.Purge および< a href = "http://msdn.microsoft.com/en-us/library/system.messaging.messagequeue.delete.aspx" rel = "nofollow noreferrer"> MessageQueue.Delete はあなたが望むものであるようです、質問を誤読していない限り。
所属していません StackOverflow