Hi Fabio That does work and I thank you for your guidance. I read this in ch 10 on transactions:"If the connection is enlisted with a distributed transaction, operations performed by the ISession are atomically part of the wider distributed transaction." so I thought the session would enlist itself in a dtc transaction if one is already present. This enlistment must be a part of the call in session.BeginTransaction() ?
On Oct 15, 11:57 am, Fabio Maulo <[email protected]> wrote: > What happen if you begin a NH's transaction (repeat a transaction of NH) > after open each session ? > Try to execute each save inside the corresponding NH's transaction and let > me know what happen. > > 2009/10/15 Mike Nichols <[email protected]> > > > > > > > This test fails. Within a single transaction, there may be multiple > > sessions trying to persist to different databases but I am not sure > > this is possible. > > I lifted the ForceEscalationToDistributedTx from NH DTC tests and it > > enlists itself to rollback the transaction. > > Is what I am trying to do here possible? > > [Observation] > > public void should_not_succeed_in_persisting() > > { > > > var tx = new TransactionScope(); > > var s1 = SessionFactory1.OpenSession(); > > var s2 = SessionFactory2.OpenSession(); > > s1.FlushMode = FlushMode.Commit; > > s2.FlushMode = FlushMode.Commit; > > s1.Save(new MyEntity1() > > { > > Agency = "ADOT", > > }); > > s2.Save(new MyEntity2() > > { > > Agency = "ADOT", > > }); > > new ForceEscalationToDistributedTx(true); > > > tx.Complete(); > > try > > { > > > tx.Dispose(); > > > throw new InvalidOperationException("Expected tx abort"); > > } > > catch (TransactionAbortedException) > > { > > //expected > > } > > s1.Dispose(); > > s2.Dispose(); > > using(var s=SessionFactory1.OpenSession()) > > { > > var pm = s.CreateCriteria(typeof > > (StandardSpecificationsPublicationPM)).List(); > > Assert.Equal(0, pm.Count); > > } > > } > > ////////////////////////////END TEST//////////////////////////// > > -- > Fabio Maulo --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "nhusers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/nhusers?hl=en -~----------~----~----~----~------~----~------~--~---
