Dil

ExecutionStrategy Sınıf

Tanım

Uygulamalar için IExecutionStrategy temel sınıf.

public abstract class ExecutionStrategy : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy
[System.Runtime.CompilerServices.Nullable(0)]
public abstract class ExecutionStrategy : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy
type ExecutionStrategy = class
    interface IExecutionStrategy
[<System.Runtime.CompilerServices.Nullable(0)>]
type ExecutionStrategy = class
    interface IExecutionStrategy
Public MustInherit Class ExecutionStrategy
Implements IExecutionStrategy
Devralma
ExecutionStrategy
Türetilmiş
Özellikler
Uygulamalar

Açıklamalar

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
ExecutionStrategy(DbContext, Int32, TimeSpan)

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

ExecutionStrategy(ExecutionStrategyContext, Int32, TimeSpan)

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

ExecutionStrategy(ExecutionStrategyDependencies, Int32, TimeSpan)

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

Alanlar

Veri Akışı Adı Description
DefaultMaxDelay

Yeniden denemeler arasındaki varsayılan en uzun gecikme süresi zorunlu olmamalıdır.

DefaultMaxRetryCount

Varsayılan yeniden deneme deneme sayısı.

Özellikler

Veri Akışı Adı Description
Context

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

Current

Şu anda yürütülen stratejiyi alır veya ayarlar. tüm iç içe çağrılar en dıştaki strateji tarafından işlenir.

Dependencies

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

ExceptionsEncountered

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

Logger

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

MaxRetryCount

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

MaxRetryDelay

Yeniden denemeler arasındaki en uzun gecikme.

Random

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

RetriesOnFailure

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

Suspended
Geçersiz.

Stratejinin askıya alınıp alınmadığını gösterir. strateji genellikle iç içe işlemlerden özyinelemeli yürütmeyi önlemek için yürütülürken askıya alınıyor.

Yöntemler

Veri Akışı Adı Description
CallOnWrappedException<TResult>(Exception, Func<Exception,TResult>)

Entity Framework tarafından oluşturulan bir özel durum olduğu ve en içtekini çağırdığı exceptionHandler sürece InnerException'dan exception özyinelemeli olarak alır.

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

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

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.

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.

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.

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.

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.

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

OnRetry()

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

ShouldRetryOn(Exception)

Belirtilen özel durumun yeniden deneme ile telafi edilebilecek geçici bir hatayı temsil edip etmediğini belirler.

ShouldVerifySuccessOn(Exception)

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

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