Share via


SqlServerRetryingExecutionStrategy Sınıf

Tanım

SQL Server IExecutionStrategy üzerinde başarısız yürütmeleri yeniden denemek için bir uygulama.

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

Açıklamalar

Bu strateji özellikle SQL Server (Azure SQL dahil) için uyarlanmıştır. Yeniden denenebilecek geçici hatalar için hata numaralarıyla önceden yapılandırılmıştır. Yeniden denenecek ek hata numaraları da sağlanabilir.

Hizmet ömrü şeklindedir Scoped. Bu, her DbContext örneğin bu hizmetin kendi örneğini kullanacağı anlamına gelir. Uygulama, herhangi bir yaşam süresiyle kaydedilen diğer hizmetlere bağlı olabilir. Uygulamanın iş parçacığı güvenli olması gerekmez.

Daha fazla bilgi ve örnek için bkz. Bağlantı dayanıklılığı ve veritabanı yeniden denemeleri .

Oluşturucular

SqlServerRetryingExecutionStrategy(DbContext)

SqlServerRetryingExecutionStrategy öğesinin yeni bir örneğini oluşturur.

SqlServerRetryingExecutionStrategy(DbContext, Int32)

SqlServerRetryingExecutionStrategy öğesinin yeni bir örneğini oluşturur.

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

SqlServerRetryingExecutionStrategy öğesinin yeni bir örneğini oluşturur.

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

SqlServerRetryingExecutionStrategy öğesinin yeni bir örneğini oluşturur.

SqlServerRetryingExecutionStrategy(ExecutionStrategyContext)

SqlServerRetryingExecutionStrategy öğesinin yeni bir örneğini oluşturur.

SqlServerRetryingExecutionStrategy(ExecutionStrategyContext, Int32)

SqlServerRetryingExecutionStrategy öğesinin yeni bir örneğini oluşturur.

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

SqlServerRetryingExecutionStrategy öğesinin yeni bir örneğini oluşturur.

SqlServerRetryingExecutionStrategy(ExecutionStrategyDependencies)

SqlServerRetryingExecutionStrategy öğesinin yeni bir örneğini oluşturur.

SqlServerRetryingExecutionStrategy(ExecutionStrategyDependencies, IEnumerable<Int32>)

SqlServerRetryingExecutionStrategy öğesinin yeni bir örneğini oluşturur.

SqlServerRetryingExecutionStrategy(ExecutionStrategyDependencies, Int32)

SqlServerRetryingExecutionStrategy öğesinin yeni bir örneğini oluşturur.

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

SqlServerRetryingExecutionStrategy öğesinin yeni bir örneğini oluşturur.

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

SqlServerRetryingExecutionStrategy öğesinin yeni bir örneğini oluşturur.

Alanlar

DefaultMinDelayThrottling

Azaltma hataları için yeniden denemeler arasındaki varsayılan minimum süre gecikmesi.

Özellikler

AdditionalErrorNumbers

Geçici olarak kabul edilmesi gereken ek SQL hata numaraları.

Context

İşlemlerin çağrılacağı bağlam.

(Devralındığı yer: ExecutionStrategy)
Dependencies

Bu hizmet için bağımlılıklar.

(Devralındığı yer: ExecutionStrategy)
ExceptionsEncountered

İşlemin şu ana kadar yeniden denenmesiyle ilgili özel durumların listesi.

(Devralındığı yer: ExecutionStrategy)
Logger

Bu ExecutionStrategyiçin günlükçü.

(Devralındığı yer: ExecutionStrategy)
MaxRetryCount

En fazla yeniden deneme denemesi sayısı.

(Devralındığı yer: ExecutionStrategy)
MaxRetryDelay

Yeniden denemeler arasındaki en büyük gecikme.

(Devralındığı yer: ExecutionStrategy)
Random

Yeniden denemeler arasındaki gecikmeyi değiştirmek için kullanılabilecek sahte rastgele sayı oluşturucu.

(Devralındığı yer: ExecutionStrategy)
RetriesOnFailure

Bunun IExecutionStrategy bir hatadan sonra yürütmeyi yeniden deneyip deneyemeyeceğini gösterir.

(Devralındığı yer: ExecutionStrategy)

Yöntemler

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

Belirtilen işlemi yürütür ve sonucu döndürür.

(Devralındığı yer: ExecutionStrategy)
Execute<TState,TResult>(TState, Func<DbContext,TState,TResult>, Func<DbContext,TState,ExecutionResult<TResult>>)

Belirtilen işlemi yürütür ve sonucu döndürür.

(Devralındığı yer: ExecutionStrategy)
ExecuteAsync<TState,TResult>(Func<TState,CancellationToken,Task<TResult>>, Func<TState,CancellationToken,Task<ExecutionResult<TResult>>>, TState, CancellationToken)

Belirtilen zaman uyumsuz işlemi yürütür ve sonucu döndürür.

(Devralındığı yer: ExecutionStrategy)
ExecuteAsync<TState,TResult>(TState, Func<DbContext,TState,CancellationToken, Task<TResult>>, Func<DbContext,TState,CancellationToken,Task<ExecutionResult<TResult>>>, CancellationToken)

Belirtilen zaman uyumsuz işlemi yürütür ve sonucu döndürür.

(Devralındığı yer: ExecutionStrategy)
ExecuteInTransaction<TState,TResult>(Func<TState,TResult>, Func<TState,Boolean>, TState)

Belirtilen işlemi bir işlemde yürütür ve işledikten sonra sonucu döndürür.

(Devralındığı yer: ExecutionStrategy)
ExecuteInTransactionAsync<TState,TResult>(Func<TState,CancellationToken, Task<TResult>>, Func<TState,CancellationToken,Task<Boolean>>, TState, CancellationToken)

Belirtilen zaman uyumsuz işlemi yürütür ve sonucu döndürür.

(Devralındığı yer: ExecutionStrategy)
GetNextDelay(Exception)

İşlemin yeniden denenip denenmeyeceğini ve sonraki denemeden önceki gecikmeyi belirler.

OnFirstExecution()

İlk işlem yürütülmeden önce çağrılan yöntem

(Devralındığı yer: ExecutionStrategy)
OnRetry()

İşlem yürütmeyi yeniden denemeden önce çağrılan yöntem

(Devralındığı yer: ExecutionStrategy)
ShouldRetryOn(Exception)

Belirtilen özel durumun yeniden deneme ile telafi edilebilecek geçici bir hatayı temsil edip etmediğini belirler. Yeniden denenecek ek özel durumlar oluşturucuya geçirilebilir.

ShouldVerifySuccessOn(Exception)

Belirtilen özel durumun başarılı bir yürütmeden sonra oluşturulup oluşturulamayacağını belirler.

(Devralındığı yer: ExecutionStrategy)

Uzantı Metotları

Execute(IExecutionStrategy, Action)

Belirtilen işlemi yürütür.

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

Belirtilen işlemi yürütür.

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

Belirtilen işlemi yürütür.

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

Belirtilen işlemi yürütür ve sonucu döndürür.

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

Belirtilen işlemi yürütür ve sonucu döndürür.

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

Belirtilen işlemi yürütür ve sonucu döndürür.

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

Belirtilen işlemi yürütür ve sonucu döndürür.

Execute<TState,TResult>(IExecutionStrategy, Func<TState,TResult>, Func<TState,ExecutionResult<TResult>>, TState)
Geçersiz.

Belirtilen işlemi yürütür ve sonucu döndürür.

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

Belirtilen zaman uyumsuz işlemi yürütür.

ExecuteAsync(IExecutionStrategy, Func<Task>)

Belirtilen zaman uyumsuz işlemi yürütür.

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

Belirtilen zaman uyumsuz işlemi yürütür.

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

Belirtilen zaman uyumsuz işlemi yürütür.

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

Belirtilen zaman uyumsuz işlemi yürütür.

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

Belirtilen zaman uyumsuz işlemi yürütür.

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

Belirtilen zaman uyumsuz işlemi yürütür ve sonucu döndürür.

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

Belirtilen zaman uyumsuz işlemi yürütür ve sonucu döndürür.

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

Belirtilen zaman uyumsuz işlemi yürütür ve sonucu döndürür.

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

Belirtilen zaman uyumsuz işlemi yürütür ve sonucu döndürür.

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

Belirtilen zaman uyumsuz işlemi yürütür ve sonucu döndürür.

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

Belirtilen zaman uyumsuz işlemi yürütür ve sonucu döndürür.

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

Belirtilen zaman uyumsuz işlemi yürütür ve sonucu döndürür.

ExecuteInTransaction(IExecutionStrategy, Action, Func<Boolean>)

Belirtilen işlemi bir işlemde yürütür. İşleme sırasında bir hata oluşursa işlemin geri alınıp alınmadığını denetlemeye olanak tanır.

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

Belirtilen işlemi bir işlemde yürütür. İşleme sırasında bir hata oluşursa işlemin geri alınıp alınmadığını denetlemeye olanak tanır.

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

Belirtilen işlemi bir işlemde yürütür ve sonucu döndürür. İşleme sırasında bir hata oluşursa işlemin geri alınıp alınmadığını denetlemeye olanak tanır.

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

Belirtilen işlemi bir işlemde yürütür ve sonucu döndürür. İşleme sırasında bir hata oluşursa işlemin geri alınıp alınmadığını denetlemeye olanak tanır.

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

Belirtilen işlemi bir işlemde yürütür ve işledikten sonra sonucu döndürür.

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

Belirtilen zaman uyumsuz işlemi bir işlemde yürütür. İşleme sırasında bir hata oluşursa işlemin geri alınıp alınmadığını denetlemeye olanak tanır.

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

Belirtilen zaman uyumsuz işlemi bir işlemde yürütür. İşleme sırasında bir hata oluşursa işlemin geri alınıp alınmadığını denetlemeye olanak tanır.

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

Belirtilen zaman uyumsuz işlemi bir işlemde yürütür. İşleme sırasında bir hata oluşursa işlemin geri alınıp alınmadığını denetlemeye olanak tanır.

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

Belirtilen zaman uyumsuz işlemi bir işlemde yürütür ve sonucu döndürür. İşleme sırasında bir hata oluşursa işlemin geri alınıp alınmadığını denetlemeye olanak tanır.

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

Belirtilen zaman uyumsuz işlemi bir işlemde yürütür ve sonucu döndürür. İşleme sırasında bir hata oluşursa işlemin geri alınıp alınmadığını denetlemeye olanak tanır.

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

Belirtilen zaman uyumsuz işlemi yürütür ve sonucu döndürür.

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

Belirtilen işlemi bir işlemde yürütür. İşleme sırasında bir hata oluşursa işlemin geri alınıp alınmadığını denetlemeye olanak tanır.

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

Belirtilen işlemi bir işlemde yürütür. İşleme sırasında bir hata oluşursa işlemin geri alınıp alınmadığını denetlemeye olanak tanır.

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

Belirtilen işlemi bir işlemde yürütür ve sonucu döndürür. İşleme sırasında bir hata oluşursa işlemin geri alınıp alınmadığını denetlemeye olanak tanır.

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

Belirtilen işlemi bir işlemde yürütür ve sonucu döndürür. İşleme sırasında bir hata oluşursa işlemin geri alınıp alınmadığını denetlemeye olanak tanır.

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

Belirtilen zaman uyumsuz işlemi bir işlemde yürütür. İşleme sırasında bir hata oluşursa işlemin geri alınıp alınmadığını denetlemeye olanak tanır.

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

Belirtilen zaman uyumsuz işlemi bir işlemde yürütür. İşleme sırasında bir hata oluşursa işlemin geri alınıp alınmadığını denetlemeye olanak tanır.

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

Belirtilen zaman uyumsuz işlemi bir işlemde yürütür. İşleme sırasında bir hata oluşursa işlemin geri alınıp alınmadığını denetlemeye olanak tanır.

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

Belirtilen zaman uyumsuz işlemi bir işlemde yürütür ve sonucu döndürür. İşleme sırasında bir hata oluşursa işlemin geri alınıp alınmadığını denetlemeye olanak tanır.

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

Belirtilen zaman uyumsuz işlemi yürütür ve sonucu döndürür. İşleme sırasında bir hata oluşursa işlemin geri alınıp alınmadığını denetlemeye olanak tanır.

Şunlara uygulanır