Skip to content

Commit bbb1dbd

Browse files
committed
NH-3807 - Guard System.Transactions, that is distributed transactions.
1 parent 9610639 commit bbb1dbd

File tree

3 files changed

+16
-2
lines changed

3 files changed

+16
-2
lines changed

src/NHibernate/AdoNet/ConnectionManager.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,11 @@ public bool IsInActiveTransaction
7575
{
7676
if (transaction != null && transaction.IsActive)
7777
return true;
78+
#if FEATURE_SYSTEM_TRANSACTIONS
7879
return Factory.TransactionFactory.IsInDistributedActiveTransaction(session);
80+
#else
81+
return false;
82+
#endif
7983
}
8084
}
8185

src/NHibernate/Cfg/SettingsFactory.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -394,7 +394,13 @@ private static System.Type CreateLinqQueryProviderType(IDictionary<string, strin
394394
private static ITransactionFactory CreateTransactionFactory(IDictionary<string, string> properties)
395395
{
396396
string className = PropertiesHelper.GetString(
397-
Environment.TransactionStrategy, properties, typeof(AdoNetWithDistributedTransactionFactory).FullName);
397+
Environment.TransactionStrategy, properties
398+
#if FEATURE_SYSTEM_TRANSACTIONS
399+
, typeof(AdoNetWithDistributedTransactionFactory).FullName
400+
#else
401+
, typeof(AdoNetTransactionFactory).FullName // No distributed transactions for .NET Core
402+
#endif
403+
);
398404
log.Info("Transaction factory: " + className);
399405

400406
try

src/NHibernate/Transaction/AdoNetWithDistributedTransactionFactory.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
#if FEATURE_SYSTEM_TRANSACTIONS
2+
13
using System;
24
using System.Collections;
35
using System.Transactions;
@@ -181,4 +183,6 @@ public void Dispose()
181183
}
182184
}
183185
}
184-
}
186+
}
187+
188+
#endif

0 commit comments

Comments
 (0)