DbExecutionStrategy Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Güvenilir olmayan işlemler ve yeniden denemeler arasındaki üstel olarak artan gecikmeleri kullanan geçici koşullar için yeniden deneme mekanizmasının temel uygulamasını sağlar.
public abstract class DbExecutionStrategy : System.Data.Entity.Infrastructure.IDbExecutionStrategy
type DbExecutionStrategy = class
interface IDbExecutionStrategy
Public MustInherit Class DbExecutionStrategy
Implements IDbExecutionStrategy
- Devralma
-
DbExecutionStrategy
- Türetilmiş
- Uygulamalar
Açıklamalar
Bir işlem her yürütildiğinde yeni bir örnek oluşturulur. Deneme sayısından sonraki retryCount
gecikmeyi hesaplamak için aşağıdaki formül kullanılır: min(random(1, 1.1) * (2 ^ retryCount - 1), maxDelay)
retryCount
0'da başlar. Rastgele faktör, aynı anda başarısız olan birden çok eşzamanlı işlemden yeniden deneme girişimlerini tek düzende dağıtır.
Oluşturucular
DbExecutionStrategy() |
DbExecutionStrategy öğesinin yeni bir örneğini oluşturur. |
DbExecutionStrategy(Int32, TimeSpan) |
Yeniden deneme sayısı ve yeniden denemeler arasındaki gecikme için belirtilen sınırlarla yeni bir örneği DbExecutionStrategy oluşturur. |
Özellikler
RetriesOnFailure |
Bir hatadan sonra yürütmeyi yeniden deneyebileceğini belirtmek DbExecutionStrategy için döndürür |
Suspended |
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
Execute(Action) |
Geçerli yeniden deneme ilkesini karşılarken belirtilen işlemi tekrar tekrar yürütür. |
Execute<TResult>(Func<TResult>) |
Geçerli yeniden deneme ilkesini karşılarken belirtilen işlemi tekrar tekrar yürütür. |
ExecuteAsync(Func<Task>, CancellationToken) |
Geçerli yeniden deneme ilkesini karşılarken belirtilen zaman uyumsuz işlemi tekrar tekrar yürütür. |
ExecuteAsync<TResult>(Func<Task<TResult>>, CancellationToken) |
Geçerli yeniden deneme ilkesini karşılarken belirtilen zaman uyumsuz işlemi tekrar tekrar yürütür. |
GetNextDelay(Exception) |
İşlemin yeniden denenip denenmeyeceğini ve sonraki denemeden önceki gecikmeyi belirler. |
ShouldRetryOn(Exception) |
Belirtilen özel durumun yeniden deneme ile telafi edilebilecek geçici bir hatayı temsil edip etmediğini belirler. |
UnwrapAndHandleException<T>(Exception, Func<Exception,T>) |
Bir veya UpdateException olduğu sürece DbUpdateExceptionEntityExceptionInnerException'ı |
Şunlara uygulanır
Entity Framework