次の方法で共有


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> EntityExceptionDbUpdateException、または UpdateException の場合に exception から InnerException を再帰的に取得し、exceptionHandler に渡します。

上揃え

解説

操作が実行されるたびに新しいインスタンスが作成されます。 試行回数 retryCount の終了後の待ち時間を計算するには、min(random(1, 1.1) * (2 ^ retryCount - 1), maxDelay) という数式が使用されます。retryCount は 0 から始まります。 ランダムな要素によって、同時に失敗した複数の同時操作の再試行が均等に分散されます。

スレッド セーフ

この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

参照

参照

System.Data.Entity.Infrastructure 名前空間