キューからメッセージを覗く単純なコードを持つ
message = myQueue.Peek(TimeOutForPeek);
一方、メッセージは単純にキューに送信されます。
sendQueue.Send(message);
myQueue がトランザクション対応の場合、すべて正常に機能します。しかし、そうでない場合、一定時間実行した後、例外が発生し (以下を参照)、処理が停止します。
System.Messaging.MessageQueueException (0x80004005): 操作が完了する前にキャンセルされました。System.Messaging.MessageQueue.ReceiveCurrent (TimeSpan タイムアウト、Int32 アクション、CursorHandle カーソル、MessagePropertyFilter フィルター、MessageQueueTransaction internalTransaction、MessageQueueTransactionType transactionType) で System.Messaging.MessageQueue.Peek (TimeSpan タイムアウト) で
何がそのような違いを引き起こす可能性があり、そのような失敗にどのように対処するのでしょうか? 私は MSMQ にあまり詳しくありませんが、助けていただければ幸いです。