Fix for: https://issues.apache.org/activemq/browse/AMQNET-235
diff --git a/src/main/csharp/Connection.cs b/src/main/csharp/Connection.cs
index c014100..fad3dbb 100755
--- a/src/main/csharp/Connection.cs
+++ b/src/main/csharp/Connection.cs
@@ -765,11 +765,19 @@
 
         protected void OnTransportInterrupted(ITransport sender)
         {
-            Tracer.Debug("Transport has been Interrupted.");
+            Tracer.Debug("Connection: Transport has been Interrupted.");
 
             foreach(Session session in this.sessions)
             {
-                session.ClearMessagesInProgress();
+				try
+				{
+                	session.ClearMessagesInProgress();
+				}
+				catch(Exception ex)
+				{
+					Tracer.Warn("Exception while clearing messages: " + ex.Message);
+					Tracer.Warn(ex.StackTrace);
+				}
             }
 
             if(this.ConnectionInterruptedListener != null && !this.closing )
diff --git a/src/main/csharp/Session.cs b/src/main/csharp/Session.cs
index fd711d2..63475c2 100755
--- a/src/main/csharp/Session.cs
+++ b/src/main/csharp/Session.cs
@@ -807,7 +807,7 @@
 
             lock(this.consumers.SyncRoot)
             {
-                foreach(MessageConsumer consumer in this.consumers)
+                foreach(MessageConsumer consumer in this.consumers.Values)
                 {
                     consumer.ClearMessagesInProgress();
                 }