Gen EDGE

 View Only
  • 1.  Using a .NET proxy or a COM proxy, is it possible to enlist the GEN call in a Distributed Transaction, so that the client can issue a commit or rollback based on some criteria?

    Posted Oct 26, 2015 11:39 AM

    Using a .NET proxy or a COM
    proxy, is it possible to enlist the GEN call in a Distributed Transaction, so
    that the client can issue a commit or rollback based on some criteria?



  • 2.  Re: Using a .NET proxy or a COM proxy, is it possible to enlist the GEN call in a Distributed Transaction, so that the client can issue a commit or rollback based on some criteria?

    Broadcom Employee
    Posted Oct 27, 2015 03:53 PM

    I am trying to envision what you are asking but I am not 100% sure I am correct.  Please document more details and give an example so that we get a better idea of what you need.

     

    Thanks,

    Andy Hebert

    CA Support



  • 3.  Re: Using a .NET proxy or a COM proxy, is it possible to enlist the GEN call in a Distributed Transaction, so that the client can issue a commit or rollback based on some criteria?

    Posted Oct 27, 2015 04:16 PM

    In a .Net application, If I want to put some data into an Oracle
    database and a Sql Server database I would start a (distributed)Transaction
    then insert the data.  If everything worked, I would commit the
    transaction, and the Oracle and Sql data would commit.  If one of them
    failed, I would rollback the Transaction, and Oracle and Sql Server would
    rollback their data, and it would be as if nothing happened.

     

    I need the same functionality with CA:Gen.  I want to
    enlist the CA:Gen call in the same transaction, that way if any of the 3 data
    inserts fail, all 3 can be rolled-back, or if all succeed, all the data is
    committed.



  • 4.  Re: Using a .NET proxy or a COM proxy, is it possible to enlist the GEN call in a Distributed Transaction, so that the client can issue a commit or rollback based on some criteria?

    Posted Oct 28, 2015 11:54 PM

    We have found at our site (sqlserver/c#) that if you have more than one DTS then the Gen runtime gets lost as the dialog manager only seems to handle one connection.

    We got around this based on how we wanted rollback/commits to work - Customised the dialog manager to detect what database connections are open and commit/rollback as required ... and for our 'batch' processes, EABs that do the same so our restart processing works like the mainframe used to.

    I'm sure there was a ticket raised based on this issue, but it was by our C# guys and not me - so I can't seem to find it!



  • 5.  Re: Using a .NET proxy or a COM proxy, is it possible to enlist the GEN call in a Distributed Transaction, so that the client can issue a commit or rollback based on some criteria?

    Broadcom Employee
    Posted Oct 29, 2015 12:28 AM

    Aldred,

    Yes I remember this subject coming up with your team during the MF->Windows/CLR transition project.

    I found an archived case (which is probably why you could not find it on Support Online) which I will send you the details of separately. That case was only looking at Transaction Isolation Level for the Gen COM+ components which are always set to "Read Committed". It did not explicitly go into the multiple DTS scenario but I guess that might have been the driver. So might be worth raising a formal idea on the Community.

    Regards,

    Lynn



  • 6.  Re: Using a .NET proxy or a COM proxy, is it possible to enlist the GEN call in a Distributed Transaction, so that the client can issue a commit or rollback based on some criteria?

    Broadcom Employee
    Posted Oct 29, 2015 12:15 AM

    Hello,

    This old thread on using the Microsoft COM+ Transaction Manager may be what you are looking for: C# Database Commits / Rollbacks

    Hope it helps

    Regards,

    Lynn



  • 7.  Re: Using a .NET proxy or a COM proxy, is it possible to enlist the GEN call in a Distributed Transaction, so that the client can issue a commit or rollback based on some criteria?

    Posted Oct 29, 2015 12:28 AM

    Thanks Lynn. Knew that we'd seen it somewhere via a ticket or discussion.

    Our customised dialog manager amends code in the EndTransaction() method of the standard C# dialog manager.