0
を送りました。C#のMSMQは、私はこのように私自身のMSMQのラッパークラスを作成している
ボタンがクリックされたときにまずアプリは、テキストメッセージを送信します。
private void btn_Click(object sender, EventArgs e)
{
var queue = new MsgQueue.MsgQueue("GBMqueue");
queue.SendMessage("some message text");
}
第二のアプリはすべての着信メッセージをリッスンし、それを処理しようとしている:
// declaration
private MsgQueue queue;
// preparation of the queue
private void Form1_Load(object sender, EventArgs e)
{
queue = new MsgQueue.MsgQueue("GBMqueue");
queue.NewMessageAvailable += Queue_NewMessageAvailable;
}
// Handler for the incoming messages
private void Queue_NewMessageAvailable(string message)
{
// Hits here very rarely!!!
}
問題は、私ができることですApp1から何回かメッセージを送信しますが、Queue_NewMessageAvailable
ハンドラは最初のメッセージではなくランダムに1つのメッセージのみをキャッチします。
例外はスローされず、受信メッセージを捕捉しません。
私はここで間違っていますか?
私は最初のアプリケーションは新しいメッセージを聞いてはいけないと思います。 2番目のアプリケーションからメッセージが取り除かれる可能性があります。それはメッセージを送信すべきです。 – Sven
@Sven、SenderとReceiverに分割すると、間違いなく期待どおりに動作します:)ヒントありがとう。 – pitersmx
よろしくお願いします。私はこれを答えとして掲示します。 – Sven