Имам наследена dll, която използва множество NHibernate транзакции в един метод. Моята задача е да накарам този метод да действа като една транзакция, така че мисля, че TransactionScope трябва да ми помогне. Въпреки това, когато направих нещо подобно:
using (TransactionScope tx = new TransactionScope())
{
#region.. code inside dll
using (ISession session1 = ...)
using (ITransaction tx1 = session.BeginTransaction())
{
// ...do work with session
tx1.Commit();
}
using (ISession session2 = ...)
using (ITransaction tx2 = session.BeginTransaction())
{
// ...do work with session
tx2.Commit();
}
#endregion
tx.Complete();
}
...методът не се връща обратно, ако tx2 падне!
Ще съм много благодарен за всяко предложение или съвет..
Благодаря ви предварително