.NETGURU
Error handling in Serviced Components
Messages   Related Types
This message was discovered on microsoft.public.dotnet.framework.component_services.
Responses highlighted in red are from those people who are likely to be able to contribute good, authoratitive information to this discussion. They include Microsoft employees, MVP's and others who IMHO contribute well to these kinds of discussions.
Post a new message to this list...

Arpan Patel via .Net Guru (VIP)
Hi all,

I am having a problem figuring out error handling with my serviced component. I am reading data from the database and I get deadlock errors. To solve deadlock, i catch that error and resubmit it and i get following error: "Distributed transaction completed. Either enlist this session in a new transaction or the NULL transaction." Any idea what i can do here? it seems like that the transaction is setting to complete. I have added code to disable setcomplete but it still doesnt work. Here is the psuedo code for what i am doing:

private sub GetData(...)

Try
GetDatafromDb()
Catch ex
if error = deadlock then
ContextUtil.DisableCommit()
GetData (resubmit)
else
throw ex
End If

End Try

End sub

Please let me know what I am doing wrong. Thank you.
--------------------------------
From: Arpan Patel

-----------------------
Posted by a user from .Net Guru (http://www.dot-net-guru.com/)

<Id>DWXCSg+RWEyWOU0Cpd/rpg==</Id>
Reply to this message...
 
    
Florin Lazar [MSFT] (VIP)
Hi Arpan,

It looks like your database is aborting the transaction when it detects the
deadlock. Setting DisableCommit will not help. You need to bubble up the
error outside the layer that started the transaction. You can't do any
database work as part of this doomed transaction.

Regards,
--
Florin Lazar - Microsoft - [ http://blogs.msdn.com/florinlazar ]
Please do not send email directly to this alias. This alias is for newsgroup
purposes only.
This posting is provided "AS IS" with no warranties, and confers no rights.

"Arpan Patel via .Net Guru" <Click here to reveal e-mail address> wrote in message
news:Click here to reveal e-mail address...
Hi all,

I am having a problem figuring out error handling with my serviced
component. I am reading data from the database and I get deadlock errors.
To solve deadlock, i catch that error and resubmit it and i get following
error: "Distributed transaction completed. Either enlist this session in a
new transaction or the NULL transaction." Any idea what i can do here? it
seems like that the transaction is setting to complete. I have added code
to disable setcomplete but it still doesnt work. Here is the psuedo code
for what i am doing:

private sub GetData(...)

Try
GetDatafromDb()
Catch ex
if error = deadlock then
ContextUtil.DisableCommit()
GetData (resubmit)
else
throw ex
End If

End Try

End sub

Please let me know what I am doing wrong. Thank you.
--------------------------------
From: Arpan Patel

-----------------------
Posted by a user from .Net Guru (http://www.dot-net-guru.com/)

<Id>DWXCSg+RWEyWOU0Cpd/rpg==</Id>

Reply to this message...
 
 
System.EnterpriseServices.ContextUtil




ExamGuru IT Solutions - .Net Guru is owned and operated by ExamGuru, Inc., the man behind .Net Guru. If you're in the market for bespoke software or software consultancy, why not get him and his highly trained team to help? - www.examguru.net/ITCertification
Ad


Need Dot Net Interview Questions?
Ask ExamGuru, Inc. for advice and help on Passing .Net Interviews
.Net Projects
Best-of-breed application framework for .NET projects, developed by ExamGuru, Inc. and ExamGuru IT
Free .net Help
Commission ExamGuru, Inc. and his team for your next bespoke software project
FogBUGZ
The only bug tracking system carefully crafted with one goal in mind: helping teams create great software.
Awesome Tools
If you don't know about these, you're missing out... IT Certification Questions
IT Interview Questions
Free Oracle 10g Training
MCSE Boortcamp
Cisco Study Guides
Cheap Study Guides
Exact Questions
Dot Net Interview Questions
Oracle OCP
Cheap Travel
Designer Perfumes - Wholesale Prices
Free Programming Tutorials
 
ExamGuru IT Solutions - .Net Guru is owned and operated by ExamGuru, Inc., the man behind .Net Guru. If you're in the market for bespoke software or software consultancy, why not get him and his highly trained team to help? - www.examguru.net/ITCertification
 Copyright © ExamGuru, Inc. 2001-2006
Contact Us - Terms of Use - Privacy Policy - www.dot-net-guru.com - www.examguru.net - www.oraclesource.net - www.itinterviews.net - www.examguru.net/ITCertification