Solved

Internal Connection Fatal Error  Exception on calling Cancel on Asynchronous Call

Posted on 2010-11-12
8
686 Views
Last Modified: 2012-05-10
I am using BeginExecuteNonQuery to call a long running stored procedure asynchronously. When the user wishes to cancel the operation I call the Cancel method .It works fine for the first time.Suppose user start the query again and cancels it the next time i get the following Exception System.InvalidOperationException: Internal Connection fatal error
0
Comment
Question by:shore-support
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 3
8 Comments
 
LVL 18

Expert Comment

by:Richard Lee
ID: 34119287
Are you closing all the Connection or Transactions?

DaTribe
0
 
LVL 18

Expert Comment

by:Richard Lee
ID: 34119289
I should have said Disposing of your Transactions.

DaTribe
0
 

Author Comment

by:shore-support
ID: 34119363
I am taking care of clearing the transaction and connection in the Method that'll be invoked in the PostAsyncCall.When the transaction has passed through successfully i get the transaction object in this Method and commit it but when it is cancelled i see that the transaction object returned in this Method is null
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 18

Expert Comment

by:Richard Lee
ID: 34119604
Firstly a null object doesn't mean that what this object was referencing previously has been disposed. Yes the object is abandoned but garbage collection is non-deterministic. What I am getting at is as follows:

If in your BeginAsync you create a transaction and in your PostAsync you dispose of it, then if we replace the PostAsync with CancelAsync disposing of the transaction should still be done here before setting the transaction object to null.

DaTribe
0
 

Author Comment

by:shore-support
ID: 34119850
When the user doesn't cancel the operation i get to see the Transaction Object in the IAsync Result which is passed to the Delegate and i commit the transaction and close the connection but when user Cancels i get null as the Transaction object in the same Delegate. I have even tried to use a global parameter for the Transaction and the Connection but i see even this Connection is closed in case of Cancel.
0
 
LVL 18

Expert Comment

by:Richard Lee
ID: 34120042
Lets try again:

1. Is there an InnerException?
2. How is the transaction & connection being closed?
3. What is in the EventLog?
4. Implement some Debug.Trace to see what is happening.

DaTribe
0
 

Author Comment

by:shore-support
ID: 34246996
Thanks. We are trying the above approach to resolve the issue.
0
 
LVL 18

Accepted Solution

by:
Richard Lee earned 500 total points
ID: 34291395
Any progress?
0

Featured Post

Salesforce Has Never Been Easier

Improve and reinforce salesforce training & adoption using WalkMe's digital adoption platform. Start saving on costly employee training by creating fast intuitive Walk-Thrus for Salesforce. Claim your Free Account Now

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Exception Handling is in the core of any application that is able to dignify its name. In this article, I'll guide you through the process of writing a DRY (Don't Repeat Yourself) Exception Handling mechanism, using Aspect Oriented Programming.
This article aims to explain the working of CircularLogArchiver. This tool was designed to solve the buildup of log file in cases where systems do not support circular logging or where circular logging is not enabled
In this video, viewers are given an introduction to using the Windows 10 Snipping Tool, how to quickly locate it when it's needed and also how make it always available with a single click of a mouse button, by pinning it to the Desktop Task Bar. Int…
Do you want to know how to make a graph with Microsoft Access? First, create a query with the data for the chart. Then make a blank form and add a chart control. This video also shows how to change what data is displayed on the graph as well as form…

630 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question