The Transient Fault Handling Application Block
The Microsoft Enterprise Library Transient Fault Handling Application Block lets developers make their applications more resilient by adding robust transient fault handling logic. Transient faults are errors that occur because of some temporary condition such as network connectivity issues or service unavailability. Typically, if you retry the operation that resulted in a transient error a short time later, you find that the error has disappeared.
Different services can have different transient faults, and different applications require different fault handling strategies. The Transient Fault Handling Application Block encapsulates information about the transient faults that can occur when you use the following Windows Azure services in your application:
- SQL Azure
- Windows Azure Service Bus
- Windows Azure Storage
- Windows Azure Caching Service
The Transient Fault Handling Application Block enables the developer to select from the following retry strategies:
- Fixed interval
- Exponential back-off
The Enterprise Library Transient Fault Handling Application Block includes the following features:
- You can select from an extensible collection of error detection strategies for cloud-based services, and an extensible collection of retry strategies.
- You can use the graphical Enterprise Library configuration tool to manage configuration settings.
- You can extend the block by adding error detection strategies for other services or by adding custom retry strategies.
|The Transient Fault Handling Application Block is a product of the collaboration between the Microsoft patterns & practices team and the Windows Azure Customer Advisory Team. It is based on the initial detection and retry strategies, and the data access support from the Transient Fault Handling Application Framework. The new block now includes enhanced configuration support, enhanced support for wrapping asynchronous calls, provides integration of the block's retry strategies with the Windows Azure Storage retry mechanism, and works with the Enterprise Library dependency injection container. The new Transient Fault Handling Application Block supersedes the Transient Fault Handling Framework and is now a recommended approach to handling transient faults in the cloud.|
This section includes the following topics to help you to understand and use the Transient Fault Handling Application Block:
- What Does the Transient Fault Handling Application Block Do? This topic provides a brief overview that will help you to understand what the block can do, and explains some of the concepts and features it incorporates. It also provides a simple example of the way you can write code to use the block.
- Hosting the Transient Fault Handling Application Block. This topic describes how to host the Transient Fault Handling Application Block, and how to configure it. The configuration information can define the retry strategies the block uses.
- Key Scenarios. This section demonstrates how to implement some common scenarios using the block.
- The Design of the Transient Fault Handling Application Block. This topic explains the decisions that went into the design of the Transient Fault Handling Application Block and the rationale behind those decisions.
- Extending and Modifying the Transient Fault Handling Application Block. This topic explains how to extend the block by adding custom detection strategies and retry strategies.
- August 2012 - with no dependency on the Windows Azure Shared Caching core assembly
- September 2012 - with the support for the Task-based Asynchronous Pattern (TAP)
For related information, see the following patterns & practices guides and documents:
- Microsoft Enterprise Library home page on MSDN
- Enterprise Library Integration Pack for Windows Azure community page on CodePlex
- Developer's Guide to the Enterprise Library 5.0 Integration Pack for Windows Azure on MSDN
- Moving Applications to the Cloud, 2nd edition
- Developing Applications for the Cloud, 2ndedition
- patterns & practices Developer's Center on MSDN
Last built: June 7, 2012