TransactionScope is meant to work with a System.Transactions.Transaction.
NHibernate does not use this, but instead uses System.Data.IDBTransaction.
It does not appear that there is any way to get the 2 kinds of Transaction
to interoperate.

Why does Microsoft create this kind of problem?

John Davidson

On Thu, May 6, 2010 at 11:09 AM, Carlos cubas <[email protected]> wrote:

>  Oh wow my feature request got some spot light :).
>
>  If I get a chance today I'll open a Jira feature request for a
> "Transaction Scope" section on the official reference documentation.
>
>
> -Carlos
>
> Practice makes perfect, but if no one is perfect, why practice?
>
>
>
>
> ------------------------------
> Date: Thu, 6 May 2010 11:36:28 -0300
> Subject: Re: [nhibernate-development] leaking connections when using
> transactionscope without NH transaction
> From: [email protected]
> To: [email protected]
>
>
> I feel a déjà vu... we discussed this same issue last month (but I think it
> was on the users group).
> There's even an open jira: http://216.121.112.228/browse/NH-2181
>
> <http://216.121.112.228/browse/NH-2181>If you ask me... we do have a
> violation of the principle of least surprise.
> I can't count how many mails in the users group and questions in
> Stackoverflow I've answered with "use a transaction".
>
> While I agree with Fabio in that an official reference on TransactionScope
> is needed (in the main docs), this should be more intuitive for new users.
> Maybe NH 3 is an opportunity to introduce breaking changes...
>
>    Diego
>
>
> On Thu, May 6, 2010 at 11:12, Davy Brion <[email protected]> wrote:
>
> Well for starters, it just feels pointless to use an NHibernate Transaction
> if TransactionScope is supposed to take care of that for you.  And let's be
> honest here, that's just how it works with probably every other data layer
> out there in the .NET world.  Why should we be different?
>
> But if usage of an NH transaction is indeed absolutely required, then we
> sure shouldn't put up with the current behavior either.  It's way too easy
> to make a mistake with it and just putting a notice in the official
> reference about it feels like a cop-out instead of actually dealing with a
> real problem.
>
> On Thu, May 6, 2010 at 4:03 PM, Fabio Maulo <[email protected]> wrote:
>
> IMO is the moment to write something in out official reference.
> We should dedicate a section on : *How work with TransactionScope*
>
> I have never found a problem because I'm opening the NH'session and begin,
> always, the NH's transaction inside the transaction scope. All problem I
> have seen is about ppl who don't want use the NH's transaction... with which
> reason ? so far I saw only "style" reason... for me the "style" is a matter
> for FashionTV.
>
> On Thu, May 6, 2010 at 9:59 AM, John Davidson <[email protected]>wrote:
>
> It may seem to be a good idea to have a mandatory transaction within a
> session, but you are forgetting that a session may use many transactions,
> which makes it difficult to force a transaction creation within a sesssion.
> I.E. when you commit a transaction and and the session is not yet closed do
> you automatically create another transaction, just in case the session is
> going to do more transactional work?
>
> I think many of the problems are a result of changes from v1.2 to 2.x where
> it was recognized that a transaction was necessary for any read or write
> activity with the database. However, there probably is a substantial body of
> applications started in v1.2 that were upgraded to v2.x where the upgrade to
> wrap all reads did not happen.
>
> I don't think this can easily be fixed by changing the session semantics.
>
> John Davidson
>
>
> On Thu, May 6, 2010 at 8:42 AM, Davy Brion <[email protected]> wrote:
>
> yup, i feel the same way
>
>
> On Thu, May 6, 2010 at 2:37 PM, Richard Brown <[email protected]>wrote:
>
> IMHO, if the usage is not allowed, we should change the API to disallow
> session without a tx.  If it is allowed we should fix it.
>
> Sent from my Android phone.
>
> On 6 May 2010 13:19, "Davy Brion" <[email protected]> wrote:
>
> Hey guys,
>
> i just ran into a weird issue with leaking connections due to using a
> TransactionScope without using an NH transaction...  i've described the
> problem here:
>
> http://davybrion.com/blog/2010/05/avoiding-leaking-connections-with-nhibernate-and-transactionscope/
>
> the thing is: is this a bug in NH or not? I mean... it might be due to bad
> usage, but if the usage scenario is bad, then NHibernate should probably
> warn against it instead of playing along and failing silently in some
> cases...
>
> thoughts?
>
>
>
>
>
>
>
> --
> Fabio Maulo
>
>
>
>

Reply via email to