HighTechTalks DotNet Forums  

Queued Components and TransactionScope

Dotnet Framework (Component Services) microsoft.public.dotnet.framework.component_services


Discuss Queued Components and TransactionScope in the Dotnet Framework (Component Services) forum.



Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old   
John
 
Posts: n/a

Default Queued Components and TransactionScope - 07-17-2006 , 08:06 PM






Hi,

I have an app that uses Queued Components. The queue is set as
transactional and the transaction is set to Supported (I've also tried
Required). Everything is running on the same box (tried XP and 2k3). In my
app I wrap the queued component call in a TransactionScope. I'm using
EnterpriseServicesInteropOption.Full in creating the scope. Right after
queuing the component I intentionally throw an exception and don't complete
the scope. The message stays on the queue and gets processed. This is a
simplified version of what my program really does, which is call a database
update within that same scope. When something fails I want the entire
transaction rolled back; DB and MSMQ. What actually happens though is that
the DB rolls back but MSMQ doesn't. I created the simplified version just
to see if I could get MSMQ to roll back, but I can't. So what am I missing?

John



Reply With Quote
  #2  
Old   
John
 
Posts: n/a

Default Re: Queued Components and TransactionScope - 07-24-2006 , 01:00 PM






Can anyone help? Am I posting to the correct group?
John

"John" <revelation (AT) nospam (DOT) nospam> wrote

Quote:
Hi,

I have an app that uses Queued Components. The queue is set as
transactional and the transaction is set to Supported (I've also tried
Required). Everything is running on the same box (tried XP and 2k3). In
my app I wrap the queued component call in a TransactionScope. I'm using
EnterpriseServicesInteropOption.Full in creating the scope. Right after
queuing the component I intentionally throw an exception and don't
complete the scope. The message stays on the queue and gets processed.
This is a simplified version of what my program really does, which is call
a database update within that same scope. When something fails I want the
entire transaction rolled back; DB and MSMQ. What actually happens though
is that the DB rolls back but MSMQ doesn't. I created the simplified
version just to see if I could get MSMQ to roll back, but I can't. So
what am I missing?

John




Reply With Quote
Reply




Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.