Allow for subclass override to TransactionContext creation. 
diff --git a/src/main/csharp/Session.cs b/src/main/csharp/Session.cs
index c0155f6..d36a846 100755
--- a/src/main/csharp/Session.cs
+++ b/src/main/csharp/Session.cs
@@ -72,7 +72,7 @@
             this.acknowledgementMode = acknowledgementMode;
             this.requestTimeout = connection.RequestTimeout;
             this.dispatchAsync = connection.DispatchAsync;
-            this.transactionContext = new TransactionContext(this);
+            this.transactionContext = CreateTransactionContext();
 			this.exclusive = connection.ExclusiveConsumer;
 			this.retroactive = connection.UseRetroactiveConsumer;
 
@@ -1002,6 +1002,11 @@
             }
         }
 
+		protected virtual TransactionContext CreateTransactionContext()
+		{
+			return new TransactionContext(this);
+		}
+
         private void CheckClosed()
         {
             if (closed)