Probably it won't. On Fri, Oct 17, 2008 at 2:14 AM, Tyler Burd <[EMAIL PROTECTED]> wrote:
> I see. Thanks for the quick response! I suppose this is one case where > running off the trunk is a bad idea, as it seems ambient transactions break > NHibernate at this point. I can't completely remove the use of > System.Transactions because it's built-in to NServiceBus, but I'll go back > to the 2.0 NH release and see if that solves my issue. > > > > Thanks again. > > -tyler > > > ------------------------------ > > *From:* [email protected] [mailto:[EMAIL PROTECTED] *On > Behalf Of *Fabio Maulo > *Sent:* Thursday, October 16, 2008 1:47 PM > *To:* [email protected] > *Subject:* [nhusers] Re: system.transactions > > > > NH2.0 don't support ambient transactions. > > In NH2.1 we start some work about it. > > If you are using ActiveRecord you can use NHibernateFacilities of Castle + > CastleTransactionFacilities&services. > > 2008/10/16 Tyler Burd <[EMAIL PROTECTED]> > > I'm trying to use System.Transactions with NHibernate (actually, I'm trying > to use NHibernate/ActiveRecord with NServiceBus, which surrounds message > handling with a TransactionScope). I am running off of the trunk. I'm > having a few issues, unfortunately. > > > > Basically, I'm trying to do this (pseudo code): > > > > using (var tx = new TransactionScope()) > > { > > using (var nhSession1 = OpenSession()) > > { > > //perform operations and flush session > > } > > using (var nhSession2 = OpenSession()) > > { > > //perform operations and flush session > > } > > } > > > > So a System.Transactions.TransactionScope already exists when I open and > close my NH sessions. Ideally, I'd like those sessions to take part in the > larger distributed transaction provided by the ambient TransactionScope. > Whenever a session is disposed of, though, I get this exception: > > > > "System.InvalidOperationException: Disconnect cannot be called while a > transaction is in progress. > > at NHibernate.AdoNet.ConnectionManager.Disconnect() in > d:\oss\nhibernate\src\NHibernate\AdoNet\ConnectionManager.cs:line 156 > > at NHibernate.AdoNet.ConnectionManager.Close() in > d:\oss\nhibernate\src\NHibernate\AdoNet\ConnectionManager.cs:line 122 > > at NHibernate.Impl.SessionImpl.Close() in > d:\oss\nhibernate\src\NHibernate\Impl\SessionImpl.cs:line 314 > > at NHibernate.Impl.SessionImpl.Dispose(Boolean isDisposing) in > d:\oss\nhibernate\src\NHibernate\Impl\SessionImpl.cs:line 1373 > > at NHibernate.Impl.SessionImpl.Dispose() in > d:\oss\nhibernate\src\NHibernate\Impl\SessionImpl.cs:line 1349 > > at > Castle.ActiveRecord.Framework.SessionFactoryHolder.ReleaseSession(ISession > session) in > d:\oss\castle-trunk\ActiveRecord\Castle.ActiveRecord\Framework\SessionFactoryHolder.cs:line > 258 > > at Castle.ActiveRecord.ActiveRecordBase.FindByPrimaryKey(Type > targetType, Object id, Boolean throwOnNotFound) in > d:\oss\castle-trunk\ActiveRecord\Castle.ActiveRecord\Framework\ActiveRecordBase.cs:line > 1161 > > at Castle.ActiveRecord.ActiveRecordMediator.FindByPrimaryKey(Type > targetType, Object id, Boolean throwOnNotFound) in > d:\oss\castle-trunk\ActiveRecord\Castle.ActiveRecord\Framework\ActiveRecordMediator.cs:line > 54 > > at Rhino.Commons.ARRepository`1.Load(Object id) in > d:\oss\rhino-tools\rhino-commons\Rhino.Commons.ActiveRecord\Repositories\ARRepository.cs:line > 59" > > > > > > I have tried setting the connection.release_mode property to "on_close", > and I have even tried nesting a TransactionScope with > TransactionOption.Suppress (so there should be NO ambient transaction), but > NHibernate still gives me that exception. > > > > I see from the NHibernate.Test.SystemTransactions.TransactionFixture tests > that opening a TransactionScope *within* an open session works, but > shouldn't opening and closing a session within a TransactionScope also > work? Using raw ADO I can open and close connections within a > TransactionScope and everything works fine. > > > > I'd greatly appreciate it if someone could help me identify whether a bug > exists in NH or if I'm simply overlooking something. Thanks. > > > > -tyler > > > > > > > > > -- > Fabio Maulo > > > > > > -- Tuna Toksöz Typos included to enhance the readers attention! --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
