We don't really care for that, we let the DTC infrastructure take care of
this.

On Mon, Mar 23, 2009 at 12:57 PM, Michael Teper <[email protected]>wrote:

>  Fabio, Ayende,
>
> Another thing to consider is the nested transaction scenario like this:
>
> using (var scopeOuter = new TransactionScope())
> {
>    // load / change some object(s)
>
>    using (var innerScope = new TransactionScope())
>    {
>        try
>        {
>            // load / change something else
>            innerScope.complete();
>        }
>        catch { // do something }
>     }
>
>     outerScope.complete();
> }
>
> This may look silly but if the inner transaction is encapsulated in a
> different class, this is a very plausible scenario. Wherever NH keeps track
> of the current transaction scope, it needs to be aware of potential for
> nesting.
>
> Thanks!
> -Michael
>
>
>  ------------------------------
> *From:* [email protected] [
> [email protected]] On Behalf Of Fabio Maulo [
> [email protected]]
> *Sent:* Monday, March 23, 2009 9:45 AM
> *To:* [email protected]
> *Subject:* [nhibernate-development] Re: More DTC issues
>
>
>
> 2009/3/23 Ayende Rahien <[email protected]>
>
>> The problem is that usually the DTC is opened by a lower level component,
>> and my code has no control over it. More than that, I usually don't have
>> control over NH's code as well.
>>
>>  It goes like this:
>>
>>  1/ low level infrastructure - dtc
>> 2/ high level infarstruture - nh
>> 3/ business code - my stuff
>>
>
>  and then
> 3 -end
> 2- end
> 1-end
>
>  If 2 don't know about 1, 2 should use session.BeginTransaction and
> session.Transaction.Commit().
>
>
>>
>>  I don't want to be aware of all of this issues, I just want to make this
>> work.
>> So explicitly flushing is an option that I would generally be against.
>>
>>  Making NH's transaction equal to the dtc is also not a good option,
>> because the use of the DTC is to manage several resources, not just NH.
>>
>
>  You know... I never said dtc=nhTx
> What I would like to avoid is If(DTC) {something} else {somethingelse}
> inside NH-Core.
>
>  --
> Fabio Maulo
>

Reply via email to