private static void RetryPolityUsingConfigFile(IUnityContainer container, IBlockService service) { System.Diagnostics.Trace.WriteLine("Begin sample: RetryPolityUsingConfigFile"); // Gets the current Retry Manager configuration var retryManager = EnterpriseLibraryContainer.Current.GetInstance <RetryManager>(); // Asks for the default Retry Policy. Keep on mind that it's possible to ask for an specific one. var retryPolicy = retryManager.GetRetryPolicy <BlockServiceExceptionDetectionStrategy>(); // Do some work that may result in a transient fault. System.Threading.Tasks.Parallel.For(0, 100, index => { try { retryPolicy.Retrying += OnRetryPolicyRetrying; retryPolicy.ExecuteAction(() => { _blockService.PutBlock(index.ToString(), index); }); retryPolicy.Retrying -= OnRetryPolicyRetrying; } catch (Exception exception) { // All the retries failed. System.Diagnostics.Trace.WriteLine(string.Format("An Exception has been thrown:\n{0}", exception)); } }); System.Diagnostics.Trace.WriteLine("End sample: RetryPolityUsingConfigFile"); }