@@ -12,18 +12,18 @@ namespace NHibernate.Envers.Synchronization
12
12
[ Serializable ]
13
13
public class AuditProcessManager
14
14
{
15
- private readonly IDictionary < ITransaction , AuditProcess > _auditProcesses ;
15
+ private readonly IDictionary < object , AuditProcess > _auditProcesses ;
16
16
private readonly IRevisionInfoGenerator _revisionInfoGenerator ;
17
17
18
18
public AuditProcessManager ( IRevisionInfoGenerator revisionInfoGenerator )
19
19
{
20
- _auditProcesses = new ConcurrentDictionary < ITransaction , AuditProcess > ( ) ;
20
+ _auditProcesses = new ConcurrentDictionary < object , AuditProcess > ( ) ;
21
21
_revisionInfoGenerator = revisionInfoGenerator ;
22
22
}
23
23
24
24
public AuditProcess Get ( IEventSource session )
25
25
{
26
- var transaction = session . Transaction ;
26
+ var transaction = ( object ) session . GetCurrentTransaction ( ) ?? System . Transactions . Transaction . Current ;
27
27
28
28
if ( ! _auditProcesses . TryGetValue ( transaction , out var auditProcess ) )
29
29
{
@@ -40,10 +40,10 @@ public AuditProcess Get(IEventSource session)
40
40
41
41
private class transactionCompletionProcess : IBeforeTransactionCompletionProcess , IAfterTransactionCompletionProcess
42
42
{
43
- private readonly IDictionary < ITransaction , AuditProcess > _auditProcesses ;
44
- private readonly ITransaction _transaction ;
43
+ private readonly IDictionary < object , AuditProcess > _auditProcesses ;
44
+ private readonly object _transaction ;
45
45
46
- public transactionCompletionProcess ( IDictionary < ITransaction , AuditProcess > auditProcesses , ITransaction transaction )
46
+ public transactionCompletionProcess ( IDictionary < object , AuditProcess > auditProcesses , object transaction )
47
47
{
48
48
_auditProcesses = auditProcesses ;
49
49
_transaction = transaction ;
0 commit comments