private TransactionEnlistment GetEnlistment()
{
Transaction txTransaction = Transaction.Current;
TransactionEnlistment enlEnlistment = null; ;
if (txTransaction != null)
{
lock (m_objEnlistmentLock)
{
if (m_dicEnlistments == null)
m_dicEnlistments = new Dictionary<string, TransactionEnlistment>();
if (m_dicEnlistments.ContainsKey(txTransaction.TransactionInformation.LocalIdentifier))
enlEnlistment = m_dicEnlistments[txTransaction.TransactionInformation.LocalIdentifier];
else
{
enlEnlistment = new TransactionEnlistment(txTransaction, this);
m_dicEnlistments.Add(txTransaction.TransactionInformation.LocalIdentifier, enlEnlistment);
}
}
}
else
enlEnlistment = new TransactionEnlistment(null, this);
return enlEnlistment;
}