既存のMicrosoftメッセージングキューを常にポーリングする代わりに、MSMQが何らかのイベント/通知を発生させて、メッセージが利用可能であることをアプリケーションに通知できるかどうかを知りたいのですが。
user1269016
質問する
4239 次
2 に答える
2
MessageQueue
通知が不十分で、メッセージが到着したという通知がありません(MessageQueueクラスを参照) 。
自分で通知を実装できます。これが適切な実装です(単純なMSMQリスナーヘルパークラスを参照) 。
于 2012-08-05T12:17:07.533 に答える
1
これは古い質問ですが、キューでメッセージを受信したときにヒットするイベントを探してここに来ました。これが私がしたことです:
private static MessageQueue _messageQueue = null;
static void Main(string[] args)
{
if (MessageQueue.Exists(@".\Private$\orders"))
{
_messageQueue = new MessageQueue(@".\Private$\orders") {Label = "Testing Queue"};
}
_messageQueue.ReceiveCompleted += new ReceiveCompletedEventHandler(OnMessageRecieved);
_messageQueue.BeginReceive();
Console.ReadLine();
}
private static void OnMessageRecieved(object sender, ReceiveCompletedEventArgs e)
{
//Process your message here.
_messageQueue.BeginReceive();
}
于 2016-11-10T08:41:24.777 に答える