DbExecutionStrategy クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
信頼性の低い操作と、再試行間の遅延が指数関数的に増加する一時的な条件に対する再試行メカニズムの基本実装を提供します。
public abstract class DbExecutionStrategy : System.Data.Entity.Infrastructure.IDbExecutionStrategy
type DbExecutionStrategy = class
interface IDbExecutionStrategy
Public MustInherit Class DbExecutionStrategy
Implements IDbExecutionStrategy
- 継承
-
DbExecutionStrategy
- 派生
- 実装
注釈
操作が実行されるたびに、新しいインスタンスが作成されます。 試行回数後 retryCount
の遅延を計算するには、次の式を使用します。 min(random(1, 1.1) * (2 ^ retryCount - 1), maxDelay)
は retryCount
0 から始まります。 ランダム要因は、同時に失敗する複数の同時操作からの再試行を均等に分散します。
コンストラクター
DbExecutionStrategy() |
DbExecutionStrategy の新しいインスタンスを作成します。 |
DbExecutionStrategy(Int32, TimeSpan) |
再試行回数と再試行間隔の制限を指定して、 の新しいインスタンス DbExecutionStrategy を作成します。 |
プロパティ
RetriesOnFailure |
エラーが |
Suspended |
戦略が中断されているかどうかを示します。 この戦略は通常、入れ子になった操作からの再帰的な実行を回避するために、 の実行中に中断されます。 |
メソッド
Execute(Action) |
現在の再試行ポリシーを満たしている間に、指定した操作を繰り返し実行します。 |
Execute<TResult>(Func<TResult>) |
現在の再試行ポリシーを満たしている間に、指定した操作を繰り返し実行します。 |
ExecuteAsync(Func<Task>, CancellationToken) |
現在の再試行ポリシーを満たしている間に、指定した非同期操作を繰り返し実行します。 |
ExecuteAsync<TResult>(Func<Task<TResult>>, CancellationToken) |
現在の再試行ポリシーを満たしている間に、指定した非同期操作を繰り返し実行します。 |
GetNextDelay(Exception) |
操作を再試行する必要があるかどうかを判断し、次の試行の前に遅延を指定します。 |
ShouldRetryOn(Exception) |
指定した例外が、再試行によって補正できる一時的なエラーを表すかどうかを判断します。 |
UnwrapAndHandleException<T>(Exception, Func<Exception,T>) |
が である限り、 から |
適用対象
Entity Framework