Пример #1
0
 /// <summary>
 /// Creates a retry manager from the system configuration.
 /// </summary>
 /// <returns></returns>
 public static RetryManager CreateDefault()
 {
     using (var source = new SystemConfigurationSource())
     {
         var settings = RetryPolicyConfigurationSettings.GetRetryPolicySettings(source);
         var manager  = settings.BuildRetryManager();
         RetryManager.SetDefault(manager);
         return(manager);
     }
 }
        /// <summary>
        /// Creates a retry manager from the system configuration.
        /// </summary>
        /// <returns></returns>
        public static RetryManager CreateDefault(
            string configurationFile = RetryConfiguration.DefaultConfigurationFile, string configurationKey = nameof(RetryManager), Func <IConfigurationSection, RetryStrategy>?getCustomRetryStrategy = null)
        {
            Argument.NotNullOrEmpty(configurationFile, nameof(configurationFile));
            Argument.NotNullOrEmpty(configurationKey, nameof(configurationKey));

            RetryManager manager = RetryConfiguration.GetRetryManager(configurationFile, configurationKey, getCustomRetryStrategy);

            RetryManager.SetDefault(manager);
            return(manager);
        }
 /// <summary>
 /// Sets the retry manager.
 /// </summary>
 /// <param name="retryManager">The retry manager.</param>
 /// <param name="throwIfSet">true to throw an exception if the writer is already set; otherwise, false. Defaults to <see langword="true"/>.</param>
 /// <exception cref="InvalidOperationException">The factory is already set and <paramref name="throwIfSet"/> is true.</exception>
 public static void SetRetryManager(RetryManager?retryManager, bool throwIfSet = true)
 {
     RetryManager.SetDefault(retryManager, throwIfSet);
 }