DbExecutionStrategy 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
재시도 사이에 기하급수적으로 증가하는 지연을 사용하는 신뢰할 수 없는 작업 및 일시적인 조건에 대한 재시도 메커니즘의 기본 구현을 제공합니다.
public abstract class DbExecutionStrategy : System.Data.Entity.Infrastructure.IDbExecutionStrategy
type DbExecutionStrategy = class
interface IDbExecutionStrategy
Public MustInherit Class DbExecutionStrategy
Implements IDbExecutionStrategy
- 상속
-
DbExecutionStrategy
- 파생
- 구현
설명
작업이 실행될 때마다 새 instance 만들어집니다. 다음 수식은 시도 횟수 후 retryCount
지연을 계산하는 데 사용됩니다. min(random(1, 1.1) * (2 ^ retryCount - 1), maxDelay)
은 retryCount
0에서 시작됩니다. 임의 계수는 동시에 실패하는 여러 동시 작업에서 재시도 시도를 균일하게 분산합니다.
생성자
DbExecutionStrategy() |
DbExecutionStrategy의 새 인스턴스를 만듭니다. |
DbExecutionStrategy(Int32, TimeSpan) |
재시도 횟수 및 재시도 사이의 지연에 대해 지정된 제한을 사용하여 의 DbExecutionStrategy 새 instance 만듭니다. |
속성
RetriesOnFailure |
실패 후 실행을 다시 시도할 수 있음을 DbExecutionStrategy 나타내는 를 반환 |
Suspended |
전략이 일시 중단되었는지 여부를 나타냅니다. 전략은 일반적으로 중첩된 작업에서 재귀 실행을 방지하기 위해 실행하는 동안 일시 중단됩니다. |
메서드
Execute(Action) |
현재 재시도 정책을 충족하는 동안 지정된 작업을 반복적으로 실행합니다. |
Execute<TResult>(Func<TResult>) |
현재 재시도 정책을 충족하는 동안 지정된 작업을 반복적으로 실행합니다. |
ExecuteAsync(Func<Task>, CancellationToken) |
현재 재시도 정책을 충족하는 동안 지정된 비동기 작업을 반복적으로 실행합니다. |
ExecuteAsync<TResult>(Func<Task<TResult>>, CancellationToken) |
지정된 비동기 연산이 현재 재시도 정책을 충족하는 동안 반복적으로 실행됩니다. |
GetNextDelay(Exception) |
작업을 다시 시도할지 여부와 다음 시도 전에 지연을 결정합니다. |
ShouldRetryOn(Exception) |
지정한 예외가 재시도로 보정될 수 있는 일시적인 오류를 나타내는지 여부를 결정합니다. |
UnwrapAndHandleException<T>(Exception, Func<Exception,T>) |
가 인 경우 에서 |
적용 대상
Entity Framework