I used the EnableTransaction property of the WebMethod attribute to run a web method inside a COM+ transaction. I then call a database component to perform an operation, and try to write a file. Happily, if the file operation fails, the database task is rolled back.
However, after I implemented this solution I started to wonder. My database component is an ordinary .NET class in a separate assembly. Why can it run inside the same transaction? Wouldn't it need to be a serviced component that has the EnableTransaction setting? In short, my code works, but I'm wondering *why*. Matthew You can read messages from the Advanced DOTNET archive, unsubscribe from Advanced DOTNET, or subscribe to other DevelopMentor lists at http://discuss.develop.com.