/// <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); }