Having simple code that peeks message from queue
message = myQueue.Peek(TimeOutForPeek);
On the other side message are simply sent to queue:
sendQueue.Send(message);
If myQueue is transactional, then everything works ok. But if not, after certain time of running I got exception (see below) and processing stops.
System.Messaging.MessageQueueException (0x80004005): Operation was cancelled before it could be completed. at System.Messaging.MessageQueue.ReceiveCurrent(TimeSpan timeout, Int32 action, CursorHandle cursor, MessagePropertyFilter filter, MessageQueueTransaction internalTransaction, MessageQueueTransactionType transactionType) at System.Messaging.MessageQueue.Peek(TimeSpan timeout)
What may cause such difference and how to deal with such failures? I am not very familiar with MSMQ, any help will be appreciated.