"Insufficient resources to perform operation." MSMQ when transaction contains multiple messages

AwkwardCoder picture AwkwardCoder · Mar 16, 2011 · Viewed 13.6k times · Source

I'm moving an application from one server to another and the new server returns the 'famous' - "Insufficient resources to perform operation." message when the code attempts to send multiple messages to a queue, the process is wrapped inside a transaction (TransactionScope). The old server executes the code correctly and all the messages (150 approx) are sent to the queue as expected, but the new server fails at apporx 27.

Now the message size is small and the number of messages on the queue is zero.

I've read the 'Insufficient Resources? Run away, run away!' article but I'm unsure how to change machine quotas for MSMQ.

The app log has the following entry:

System.Messaging.MessageQueueException (0x80004005): Insufficient resources to perform operation.

Technology is C# & .Net 4.0, server is win 2003 R2 SP2

Any ideas why I'm getting this?

Answer

AwkwardCoder picture AwkwardCoder · Mar 16, 2011

One of the message was exceeding the 4 Mb limit - once this was sorted everything worked as expected.