Dil

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
[System.Runtime.CompilerServices.Nullable(0)]
public class SqlServerRetryingExecutionStrategy : Microsoft.EntityFrameworkCore.Storage.ExecutionStrategy
type SqlServerRetryingExecutionStrategy = class
    inherit ExecutionStrategy
[<System.Runtime.CompilerServices.Nullable(0)>]
type SqlServerRetryingExecutionStrategy = class
    inherit ExecutionStrategy
Public Class SqlServerRetryingExecutionStrategy
Inherits ExecutionStrategy
Devralma
SqlServerRetryingExecutionStrategy
Özellikler

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 kendi bu hizmet ö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

Veri Akışı Adı Description
SqlServerRetryingExecutionStrategy(DbContext, Int32, TimeSpan, ICollection<Int32>)

öğesinin yeni bir örneğini SqlServerRetryingExecutionStrategyoluşturur.

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

öğesinin yeni bir örneğini SqlServerRetryingExecutionStrategyoluşturur.

SqlServerRetryingExecutionStrategy(DbContext, Int32)

öğesinin yeni bir örneğini SqlServerRetryingExecutionStrategyoluşturur.

SqlServerRetryingExecutionStrategy(DbContext)

öğesinin yeni bir örneğini SqlServerRetryingExecutionStrategyoluşturur.

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

öğesinin yeni bir örneğini SqlServerRetryingExecutionStrategyoluşturur.

SqlServerRetryingExecutionStrategy(ExecutionStrategyContext, Int32)

öğesinin yeni bir örneğini SqlServerRetryingExecutionStrategyoluşturur.

SqlServerRetryingExecutionStrategy(ExecutionStrategyContext)

öğesinin yeni bir örneğini SqlServerRetryingExecutionStrategyoluşturur.

SqlServerRetryingExecutionStrategy(ExecutionStrategyDependencies, IEnumerable<Int32>)

öğesinin yeni bir örneğini SqlServerRetryingExecutionStrategyoluşturur.

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

öğesinin yeni bir örneğini SqlServerRetryingExecutionStrategyoluşturur.

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

öğesinin yeni bir örneğini SqlServerRetryingExecutionStrategyoluşturur.

SqlServerRetryingExecutionStrategy(ExecutionStrategyDependencies, Int32)

öğesinin yeni bir örneğini SqlServerRetryingExecutionStrategyoluşturur.

SqlServerRetryingExecutionStrategy(ExecutionStrategyDependencies)

öğesinin yeni bir örneğini SqlServerRetryingExecutionStrategyoluşturur.

Alanlar

Veri Akışı Adı Description
DefaultMinDelayThrottling

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

Özellikler

Veri Akışı Adı Description
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

Bunun ExecutionStrategygünlükçüsüsü.

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

Yeniden deneme denemesi sayısı üst sınırı.

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

Yeniden denemeler arasındaki en uzun 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

Veri Akışı Adı Description
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ı

Veri Akışı Adı Description
Execute(IExecutionStrategy, Action)

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, Func<TState,TResult>, Func<TState,ExecutionResult<TResult>>, TState)
Geçersiz.

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, 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, TState, Func<TState,TResult>)

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

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

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

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

Belirtilen işlemi yürütü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<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, 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.

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, 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,Task<TResult>>)

Belirtilen zaman uyumsuz işlemi yürütür ve sonucu döndürü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<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.

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(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<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<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, 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.

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.

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>(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<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.

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<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(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<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<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, 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.

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, 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.

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<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.

Şunlara uygulanır