未验证 提交 50891e5a 编写于 作者: C Chris Midgley 提交者: GitHub

Add overload `EnableRetryOnFailure`. (#2206)

Allow specifying `errorCodesToAdd` without count or delay.

Fixes #2048.
上级 7463c092
...@@ -151,6 +151,16 @@ public virtual NpgsqlDbContextOptionsBuilder EnableRetryOnFailure() ...@@ -151,6 +151,16 @@ public virtual NpgsqlDbContextOptionsBuilder EnableRetryOnFailure()
public virtual NpgsqlDbContextOptionsBuilder EnableRetryOnFailure(int maxRetryCount) public virtual NpgsqlDbContextOptionsBuilder EnableRetryOnFailure(int maxRetryCount)
=> ExecutionStrategy(c => new NpgsqlRetryingExecutionStrategy(c, maxRetryCount)); => ExecutionStrategy(c => new NpgsqlRetryingExecutionStrategy(c, maxRetryCount));
/// <summary>
/// Configures the context to use the default retrying <see cref="IExecutionStrategy" />.
/// </summary>
/// <param name="errorCodesToAdd">Additional error codes that should be considered transient.</param>
/// <returns>
/// An instance of <see cref="NpgsqlDbContextOptionsBuilder"/> with the specified parameters.
/// </returns>
public virtual NpgsqlDbContextOptionsBuilder EnableRetryOnFailure(ICollection<string>? errorCodesToAdd)
=> ExecutionStrategy(c => new NpgsqlRetryingExecutionStrategy(c, errorCodesToAdd));
/// <summary> /// <summary>
/// Configures the context to use the default retrying <see cref="IExecutionStrategy" />. /// Configures the context to use the default retrying <see cref="IExecutionStrategy" />.
/// </summary> /// </summary>
......
...@@ -53,6 +53,18 @@ public class NpgsqlRetryingExecutionStrategy : ExecutionStrategy ...@@ -53,6 +53,18 @@ public class NpgsqlRetryingExecutionStrategy : ExecutionStrategy
{ {
} }
/// <summary>
/// Creates a new instance of <see cref="NpgsqlRetryingExecutionStrategy" />.
/// </summary>
/// <param name="dependencies"> Parameter object containing service dependencies. </param>
/// <param name="errorCodesToAdd"> Additional error codes that should be considered transient. </param>
public NpgsqlRetryingExecutionStrategy(
ExecutionStrategyDependencies dependencies,
ICollection<string>? errorCodesToAdd)
: this(dependencies, DefaultMaxRetryCount, DefaultMaxDelay, errorCodesToAdd)
{
}
/// <summary> /// <summary>
/// Creates a new instance of <see cref="NpgsqlRetryingExecutionStrategy" />. /// Creates a new instance of <see cref="NpgsqlRetryingExecutionStrategy" />.
/// </summary> /// </summary>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册