Details
Description
When I send and receive very large number of text based messages the code doing the receiving will lock up. This behavior occurs when you use async or the IMessageConsumer.Read method.
The problem is that when the Receive method is called it calls the CheckClosed. In the method CheckClosed there is a lock(this) statement, and it is waiting for the lock to be released. The problem is that the method Dispatch that also uses the same lock is deadlocked on something. In specific the following line is the deadlock:
ackSession.Connection.OneWay(ack);
If I switch the session settings from AutoAcknowledge to ClientAcknowledge then I can retrieve all of the messages without any deadlocks occurring.