locked
Transient Error Handling RRS feed

  • Question

  • My Azure web site that connects to SQL Azure has started getting this error:

    System.Data.SqlClient.SqlException (0x80131904): A transport-level error has occurred when receiving results from the server. (provider: TCP Provider, error: 0 - The semaphore timeout period has expired.)

    I have concluded that this may be properly handled by the Transient Error Handling block, so I went out to create a ReliableSqlConnection etc. 

    After using NuGet to add the Enterprise Error Handling libraries to my solution I get:

    [Microsoft.Practices.ServiceLocation.ActivationException] = {"Activation error occured while trying to get instance of type RetryManager, key \"\""}

    I have tried every combination that I can think of but the error persists. My problem is this:  When I seek out documentation there are so many versions and explanations out there, many of which say they are no longer valid. For example: one article gives an example using EnterpriseLibraryContainer.  

    The next article I read claims that the EnterpriseLibraryContainer should not be used anymore.  My question: is there a place that I can go to get the current solution for Transient Error Handling, with explicit references to the proper libraries and code examples?

    Thank you.


    Richard Kessler

    Saturday, November 8, 2014 10:15 PM

Answers

  • Hi Richard,

    Thanks for posting here.

    Testing Transient errors in Azure and the list of error codes returned by Windows Azure SQL Database, and see if you can mock in the behavior that you are testing.

    Here are my suggestions. Click on open these links to find more details.

    Hope this helps you.

    Girish Prajwal

    • Proposed as answer by Girish Prajwal Tuesday, November 11, 2014 5:14 AM
    • Marked as answer by Girish Prajwal Wednesday, November 12, 2014 4:46 AM
    Monday, November 10, 2014 5:57 AM
  • Yes...thanks.   I found the Enterprise Library 6 on the MSDN site, downloaded the .PDF and the .CHM and read both. I then removed all the old packages relating to Transient Error Handling and added just the Version 6 Transient Error Handling package.  Initially I had no idea what the current version was.

    Then I followed what this link suggested (http://stackoverflow.com/questions/16264085/initialize-retrymanager-from-enterpriselibrarycontainer-not-working).

    Apparently there has to be a RetryManager instance available...and I found no information about that requirement in any of the documentation but this link included it so I did also and now things appear to be up and running.

    Thanks you for your blog article.


    Richard Kessler

    • Marked as answer by Girish Prajwal Wednesday, November 12, 2014 4:46 AM
    Wednesday, November 12, 2014 1:41 AM

All replies

  • Hi Richard,

    Thanks for posting here.

    Testing Transient errors in Azure and the list of error codes returned by Windows Azure SQL Database, and see if you can mock in the behavior that you are testing.

    Here are my suggestions. Click on open these links to find more details.

    Hope this helps you.

    Girish Prajwal

    • Proposed as answer by Girish Prajwal Tuesday, November 11, 2014 5:14 AM
    • Marked as answer by Girish Prajwal Wednesday, November 12, 2014 4:46 AM
    Monday, November 10, 2014 5:57 AM
  • Hi Richard,

    Any update on this issue.

    Girish Prajwal

    Wednesday, November 12, 2014 12:40 AM
  • Yes...thanks.   I found the Enterprise Library 6 on the MSDN site, downloaded the .PDF and the .CHM and read both. I then removed all the old packages relating to Transient Error Handling and added just the Version 6 Transient Error Handling package.  Initially I had no idea what the current version was.

    Then I followed what this link suggested (http://stackoverflow.com/questions/16264085/initialize-retrymanager-from-enterpriselibrarycontainer-not-working).

    Apparently there has to be a RetryManager instance available...and I found no information about that requirement in any of the documentation but this link included it so I did also and now things appear to be up and running.

    Thanks you for your blog article.


    Richard Kessler

    • Marked as answer by Girish Prajwal Wednesday, November 12, 2014 4:46 AM
    Wednesday, November 12, 2014 1:41 AM