Mark the class with TransactionOption.RequiresNew since you need to jump
out of the current transaction and start a new one to get your log entry
persisted.

On Fri, 20 Sep 2002 11:54:19 +1200, Alex Henderson
<[EMAIL PROTECTED]> wrote:

>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.

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