You'll need to make a resource manager then, so you can hook into
System.Transactions. (DTC)



On Thu, May 6, 2010 at 6:19 PM, John Davidson <[email protected]> wrote:

> 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