Is it possible to make a method that will not participate in a transaction.


Here's the scenario:

I have a method, it's set to auto-complete, it calls a number of methods in
data access class(s) - these methods work across multiple SQL
Servers/databases... Upon failure an exception is generated.  The method
catches the exception and the attempts to log the details of it into the
database with a timestamp etc. I then re-throw the failure to sygnify that
everythings gone pear-shaped and to cause the auto-completing method to
abort the transaction.

Of course there's the catch.. (No laughing in the cheap seats..) My log
entry is never actually created, it's aborted with the rest of the
transaction :)

I've tried marking the Log class with both:

[Transaction(TransactionOption.NotSupported)]

and

[Transaction(TransactionOption.Disabled)]

But this (unsurprisingly) made no difference - how can I shield the log
calls from the transaction taking place?

Any pointers would be apreciated! - Alex

You can read messages from the Advanced DOTNET archive, unsubscribe from Advanced 
DOTNET, or
subscribe to other DevelopMentor lists at http://discuss.develop.com.

Reply via email to