DbExecutionStrategy クラス
[このページは、Entity Framework 6 に関するページです。最新バージョンは、'Entity Framework' NuGet パッケージとして入手できます。Entity Framework の詳細については、msdn.com/data/ef を参照してください。]
信頼できない操作や一時的な状態のための再試行メカニズムの基本実装を提供します。このメカニズムでは、再試行を繰り返すたびに待ち時間が指数関数的に長くなります。
継承階層
System.Object
System.Data.Entity.Infrastructure.DbExecutionStrategy
System.Data.Entity.SqlServer.SqlAzureExecutionStrategy
名前空間: System.Data.Entity.Infrastructure
アセンブリ: EntityFramework (EntityFramework.dll 内)
構文
'宣言
Public MustInherit Class DbExecutionStrategy _
Implements IDbExecutionStrategy
'使用
Dim instance As DbExecutionStrategy
public abstract class DbExecutionStrategy : IDbExecutionStrategy
public ref class DbExecutionStrategy abstract : IDbExecutionStrategy
[<AbstractClassAttribute>]
type DbExecutionStrategy =
class
interface IDbExecutionStrategy
end
public abstract class DbExecutionStrategy implements IDbExecutionStrategy
DbExecutionStrategy 型で公開されるメンバーは以下のとおりです。
コンストラクター
名前 | 説明 | |
---|---|---|
DbExecutionStrategy() | DbExecutionStrategy クラスの新しいインスタンスを初期化します。 | |
DbExecutionStrategy(Int32, TimeSpan) | 指定された再試行制限回数と再試行の間隔を使用して、DbExecutionStrategy の新しいインスタンスを初期化します。 |
上揃え
プロパティ
名前 | 説明 | |
---|---|---|
RetriesOnFailure | エラー発生後に DbExecutionStrategy の再試行が可能かどうかを示す値を取得します。 |
上揃え
メソッド
名前 | 説明 | |
---|---|---|
Equals | (Object から継承されます。) | |
Execute(Action) | 現在の再試行ポリシーを満たしている間、指定された操作を繰り返し実行します。 | |
Execute<TResult>(Func<TResult>) | 現在の再試行ポリシーを満たしている間、指定された操作を繰り返し実行します。 | |
ExecuteAsync(Func<Task>, CancellationToken) | 現在の再試行ポリシーを満たしている間、指定された非同期操作を繰り返し実行します。 | |
ExecuteAsync<TResult>(Func<Task<TResult>>, CancellationToken) | 現在の再試行ポリシーを満たしている間、指定された非同期操作を繰り返し実行します。 | |
Finalize | (Object から継承されます。) | |
GetHashCode | (Object から継承されます。) | |
GetNextDelay | 操作を再試行するかどうか、および次の試行までの待ち時間を判断します。 | |
GetType | (Object から継承されます。) | |
MemberwiseClone | (Object から継承されます。) | |
ShouldRetryOn | 指定された例外が、再試行によって補正できる一時的なエラーを表すかどうかを判断します。 | |
ToString | (Object から継承されます。) | |
UnwrapAndHandleException<T> | EntityException 、DbUpdateException、または UpdateException の場合に exception から InnerException を再帰的に取得し、exceptionHandler に渡します。 |
上揃え
解説
操作が実行されるたびに新しいインスタンスが作成されます。 試行回数 retryCount の終了後の待ち時間を計算するには、min(random(1, 1.1) * (2 ^ retryCount - 1), maxDelay) という数式が使用されます。retryCount は 0 から始まります。 ランダムな要素によって、同時に失敗した複数の同時操作の再試行が均等に分散されます。
スレッド セーフ
この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。