SqlServerRetryingExecutionStrategy クラス

定義

IExecutionStrategy SQL Serverで失敗した実行を再試行するための実装。

public class SqlServerRetryingExecutionStrategy : Microsoft.EntityFrameworkCore.Storage.ExecutionStrategy
type SqlServerRetryingExecutionStrategy = class
    inherit ExecutionStrategy
Public Class SqlServerRetryingExecutionStrategy
Inherits ExecutionStrategy
継承
SqlServerRetryingExecutionStrategy

注釈

この戦略は、SQL Server (Azure SQLを含む) に合わせて特別に調整されています。 再試行できる一時的なエラーのエラー番号が事前に構成されています。 再試行する追加のエラー番号も指定できます。

サービスの有効期間は です Scoped。 これは、各 DbContext インスタンスがこのサービスの独自のインスタンスを使用することを意味します。 実装は、任意の有効期間で登録されている他のサービスに依存する場合があります。 実装はスレッド セーフである必要はありません。

詳細と例については、「 接続の回復性とデータベースの再試行 」を参照してください。

コンストラクター

SqlServerRetryingExecutionStrategy(DbContext)

SqlServerRetryingExecutionStrategy の新しいインスタンスを作成します。

SqlServerRetryingExecutionStrategy(DbContext, Int32)

SqlServerRetryingExecutionStrategy の新しいインスタンスを作成します。

SqlServerRetryingExecutionStrategy(DbContext, Int32, TimeSpan, ICollection<Int32>)

SqlServerRetryingExecutionStrategy の新しいインスタンスを作成します。

SqlServerRetryingExecutionStrategy(DbContext, Int32, TimeSpan, IEnumerable<Int32>)

SqlServerRetryingExecutionStrategy の新しいインスタンスを作成します。

SqlServerRetryingExecutionStrategy(ExecutionStrategyContext)

SqlServerRetryingExecutionStrategy の新しいインスタンスを作成します。

SqlServerRetryingExecutionStrategy(ExecutionStrategyContext, Int32)

SqlServerRetryingExecutionStrategy の新しいインスタンスを作成します。

SqlServerRetryingExecutionStrategy(ExecutionStrategyContext, Int32, TimeSpan, ICollection<Int32>)

SqlServerRetryingExecutionStrategy の新しいインスタンスを作成します。

SqlServerRetryingExecutionStrategy(ExecutionStrategyDependencies)

SqlServerRetryingExecutionStrategy の新しいインスタンスを作成します。

SqlServerRetryingExecutionStrategy(ExecutionStrategyDependencies, IEnumerable<Int32>)

SqlServerRetryingExecutionStrategy の新しいインスタンスを作成します。

SqlServerRetryingExecutionStrategy(ExecutionStrategyDependencies, Int32)

SqlServerRetryingExecutionStrategy の新しいインスタンスを作成します。

SqlServerRetryingExecutionStrategy(ExecutionStrategyDependencies, Int32, TimeSpan, ICollection<Int32>)

SqlServerRetryingExecutionStrategy の新しいインスタンスを作成します。

SqlServerRetryingExecutionStrategy(ExecutionStrategyDependencies, Int32, TimeSpan, IEnumerable<Int32>)

SqlServerRetryingExecutionStrategy の新しいインスタンスを作成します。

フィールド

DefaultMinDelayThrottling

調整エラーの再試行間の既定の最小遅延時間。

プロパティ

AdditionalErrorNumbers

一時的と見なす必要がある追加の SQL エラー番号。

Context

操作が呼び出されるコンテキスト。

(継承元 ExecutionStrategy)
Dependencies

このサービスの依存関係。

(継承元 ExecutionStrategy)
ExceptionsEncountered

操作の再試行の原因となった例外の一覧。

(継承元 ExecutionStrategy)
Logger

この ExecutionStrategyのロガー。

(継承元 ExecutionStrategy)
MaxRetryCount

再試行の最大数。

(継承元 ExecutionStrategy)
MaxRetryDelay

再試行間の最大遅延。

(継承元 ExecutionStrategy)
Random

再試行間の遅延を変更するために使用できる擬似乱数ジェネレーター。

(継承元 ExecutionStrategy)
RetriesOnFailure

エラーが発生した後に実行を再試行できるかどうかを IExecutionStrategy 示します。

(継承元 ExecutionStrategy)

メソッド

Execute<TState,TResult>(Func<TState,TResult>, Func<TState,ExecutionResult<TResult>>, TState)

指定した操作を実行し、結果を返します。

(継承元 ExecutionStrategy)
Execute<TState,TResult>(TState, Func<DbContext,TState,TResult>, Func<DbContext,TState,ExecutionResult<TResult>>)

指定した操作を実行し、結果を返します。

(継承元 ExecutionStrategy)
ExecuteAsync<TState,TResult>(Func<TState,CancellationToken,Task<TResult>>, Func<TState,CancellationToken,Task<ExecutionResult<TResult>>>, TState, CancellationToken)

指定した非同期操作を実行し、結果を返します。

(継承元 ExecutionStrategy)
ExecuteAsync<TState,TResult>(TState, Func<DbContext,TState,CancellationToken, Task<TResult>>, Func<DbContext,TState,CancellationToken,Task<ExecutionResult<TResult>>>, CancellationToken)

指定した非同期操作を実行し、結果を返します。

(継承元 ExecutionStrategy)
ExecuteInTransaction<TState,TResult>(Func<TState,TResult>, Func<TState,Boolean>, TState)

トランザクションで指定した操作を実行し、コミット後に結果を返します。

(継承元 ExecutionStrategy)
ExecuteInTransactionAsync<TState,TResult>(Func<TState,CancellationToken, Task<TResult>>, Func<TState,CancellationToken,Task<Boolean>>, TState, CancellationToken)

指定した非同期操作を実行し、結果を返します。

(継承元 ExecutionStrategy)
GetNextDelay(Exception)

操作を再試行する必要があるかどうかを判断し、次の試行前の遅延を決定します。

OnFirstExecution()

最初の操作の実行前に呼び出されるメソッド

(継承元 ExecutionStrategy)
OnRetry()

操作の実行を再試行する前に呼び出されるメソッド

(継承元 ExecutionStrategy)
ShouldRetryOn(Exception)

指定した例外が、再試行によって補正できる一時的なエラーを表すかどうかを判断します。 再試行する追加の例外をコンストラクターに渡すことができます。

ShouldVerifySuccessOn(Exception)

正常に実行された後に、指定した例外をスローできるかどうかを判断します。

(継承元 ExecutionStrategy)

拡張メソッド

Execute(IExecutionStrategy, Action)

指定した操作を実行します。

Execute<TState>(IExecutionStrategy, TState, Action<TState>)

指定した操作を実行します。

Execute<TState>(IExecutionStrategy, Action<TState>, TState)

指定した操作を実行します。

Execute<TResult>(IExecutionStrategy, Func<TResult>)

指定した操作を実行し、結果を返します。

Execute<TState,TResult>(IExecutionStrategy, TState, Func<TState,TResult>)

指定した操作を実行し、結果を返します。

Execute<TState,TResult>(IExecutionStrategy, TState, Func<TState,TResult>, Func<TState,ExecutionResult<TResult>>)

指定した操作を実行し、結果を返します。

Execute<TState,TResult>(IExecutionStrategy, Func<TState,TResult>, TState)

指定した操作を実行し、結果を返します。

Execute<TState,TResult>(IExecutionStrategy, Func<TState,TResult>, Func<TState,ExecutionResult<TResult>>, TState)
古い.

指定した操作を実行し、結果を返します。

ExecuteAsync(IExecutionStrategy, Func<CancellationToken,Task>, CancellationToken)

指定した非同期操作を実行します。

ExecuteAsync(IExecutionStrategy, Func<Task>)

指定した非同期操作を実行します。

ExecuteAsync<TState>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task>, CancellationToken)

指定した非同期操作を実行します。

ExecuteAsync<TState>(IExecutionStrategy, TState, Func<TState,Task>)

指定した非同期操作を実行します。

ExecuteAsync<TState>(IExecutionStrategy, Func<TState,CancellationToken,Task>, TState, CancellationToken)

指定した非同期操作を実行します。

ExecuteAsync<TState>(IExecutionStrategy, Func<TState,Task>, TState)

指定した非同期操作を実行します。

ExecuteAsync<TResult>(IExecutionStrategy, Func<CancellationToken,Task<TResult>>, CancellationToken)

指定した非同期操作を実行し、結果を返します。

ExecuteAsync<TResult>(IExecutionStrategy, Func<Task<TResult>>)

指定した非同期操作を実行し、結果を返します。

ExecuteAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState, CancellationToken,Task<TResult>>, Func<TState,CancellationToken, Task<ExecutionResult<TResult>>>, CancellationToken)

指定した非同期操作を実行し、結果を返します。

ExecuteAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task<TResult>>, CancellationToken)

指定した非同期操作を実行し、結果を返します。

ExecuteAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState,Task<TResult>>)

指定した非同期操作を実行し、結果を返します。

ExecuteAsync<TState,TResult>(IExecutionStrategy, Func<TState,CancellationToken,Task<TResult>>, TState, CancellationToken)

指定した非同期操作を実行し、結果を返します。

ExecuteAsync<TState,TResult>(IExecutionStrategy, Func<TState,Task<TResult>>, TState)

指定した非同期操作を実行し、結果を返します。

ExecuteInTransaction(IExecutionStrategy, Action, Func<Boolean>)

トランザクションで指定された操作を実行します。 コミット中にエラーが発生した場合にトランザクションがロールバックされたかどうかをチェックできます。

ExecuteInTransaction<TState>(IExecutionStrategy, TState, Action<TState>, Func<TState,Boolean>)

トランザクションで指定された操作を実行します。 コミット中にエラーが発生した場合にトランザクションがロールバックされたかどうかをチェックできます。

ExecuteInTransaction<TResult>(IExecutionStrategy, Func<TResult>, Func<Boolean>)

トランザクションで指定された操作を実行し、結果を返します。 コミット中にエラーが発生した場合にトランザクションがロールバックされたかどうかをチェックできます。

ExecuteInTransaction<TState,TResult>(IExecutionStrategy, TState, Func<TState,TResult>, Func<TState,Boolean>)

トランザクションで指定された操作を実行し、結果を返します。 コミット中にエラーが発生した場合にトランザクションがロールバックされたかどうかをチェックできます。

ExecuteInTransaction<TState,TResult>(IExecutionStrategy, Func<TState,TResult>, Func<TState,Boolean>, TState, DbContext)

トランザクションで指定した操作を実行し、コミット後に結果を返します。

ExecuteInTransactionAsync(IExecutionStrategy, Func<CancellationToken,Task>, Func<CancellationToken,Task<Boolean>>, CancellationToken)

トランザクションで指定された非同期操作を実行します。 コミット中にエラーが発生した場合にトランザクションがロールバックされたかどうかをチェックできます。

ExecuteInTransactionAsync(IExecutionStrategy, Func<Task>, Func<Task<Boolean>>)

トランザクションで指定された非同期操作を実行します。 コミット中にエラーが発生した場合にトランザクションがロールバックされたかどうかをチェックできます。

ExecuteInTransactionAsync<TState>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task>, Func<TState,CancellationToken, Task<Boolean>>, CancellationToken)

トランザクションで指定された非同期操作を実行します。 コミット中にエラーが発生した場合にトランザクションがロールバックされたかどうかをチェックできます。

ExecuteInTransactionAsync<TResult>(IExecutionStrategy, Func<CancellationToken, Task<TResult>>, Func<CancellationToken,Task<Boolean>>, CancellationToken)

トランザクションで指定された非同期操作を実行し、結果を返します。 コミット中にエラーが発生した場合にトランザクションがロールバックされたかどうかをチェックできます。

ExecuteInTransactionAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task<TResult>>, Func<TState, CancellationToken,Task<Boolean>>, CancellationToken)

トランザクションで指定された非同期操作を実行し、結果を返します。 コミット中にエラーが発生した場合にトランザクションがロールバックされたかどうかをチェックできます。

ExecuteInTransactionAsync<TState,TResult>(IExecutionStrategy, Func<TState,CancellationToken,Task<TResult>>, Func<TState,CancellationToken, Task<Boolean>>, TState, DbContext, CancellationToken)

指定した非同期操作を実行し、結果を返します。

ExecuteInTransaction(IExecutionStrategy, Action, Func<Boolean>, IsolationLevel)

トランザクションで指定された操作を実行します。 コミット中にエラーが発生した場合にトランザクションがロールバックされたかどうかをチェックできます。

ExecuteInTransaction<TState>(IExecutionStrategy, TState, Action<TState>, Func<TState,Boolean>, IsolationLevel)

トランザクションで指定された操作を実行します。 コミット中にエラーが発生した場合にトランザクションがロールバックされたかどうかをチェックできます。

ExecuteInTransaction<TResult>(IExecutionStrategy, Func<TResult>, Func<Boolean>, IsolationLevel)

トランザクションで指定された操作を実行し、結果を返します。 コミット中にエラーが発生した場合にトランザクションがロールバックされたかどうかをチェックできます。

ExecuteInTransaction<TState,TResult>(IExecutionStrategy, TState, Func<TState,TResult>, Func<TState,Boolean>, IsolationLevel)

トランザクションで指定された操作を実行し、結果を返します。 コミット中にエラーが発生した場合にトランザクションがロールバックされたかどうかをチェックできます。

ExecuteInTransactionAsync(IExecutionStrategy, Func<CancellationToken,Task>, Func<CancellationToken,Task<Boolean>>, IsolationLevel, CancellationToken)

トランザクションで指定された非同期操作を実行します。 コミット中にエラーが発生した場合にトランザクションがロールバックされたかどうかをチェックできます。

ExecuteInTransactionAsync(IExecutionStrategy, Func<Task>, Func<Task<Boolean>>, IsolationLevel)

トランザクションで指定された非同期操作を実行します。 コミット中にエラーが発生した場合にトランザクションがロールバックされたかどうかをチェックできます。

ExecuteInTransactionAsync<TState>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task>, Func<TState,CancellationToken, Task<Boolean>>, IsolationLevel, CancellationToken)

トランザクションで指定された非同期操作を実行します。 コミット中にエラーが発生した場合にトランザクションがロールバックされたかどうかをチェックできます。

ExecuteInTransactionAsync<TResult>(IExecutionStrategy, Func<CancellationToken, Task<TResult>>, Func<CancellationToken,Task<Boolean>>, IsolationLevel, CancellationToken)

トランザクションで指定された非同期操作を実行し、結果を返します。 コミット中にエラーが発生した場合にトランザクションがロールバックされたかどうかをチェックできます。

ExecuteInTransactionAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task<TResult>>, Func<TState, CancellationToken,Task<Boolean>>, IsolationLevel, CancellationToken)

指定した非同期操作を実行し、結果を返します。 コミット中にエラーが発生した場合にトランザクションがロールバックされたかどうかをチェックできます。

適用対象