ExecutionStrategy.ExecuteAsync 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
오버로드
ExecuteAsync<TState,TResult>(TState, Func<DbContext,TState,CancellationToken, Task<TResult>>, Func<DbContext,TState,CancellationToken,Task<ExecutionResult<TResult>>>, CancellationToken)
지정된 비동기 작업을 실행하고 결과를 반환합니다.
public virtual System.Threading.Tasks.Task<TResult> ExecuteAsync<TState,TResult> (TState state, Func<Microsoft.EntityFrameworkCore.DbContext,TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<TResult>> operation, Func<Microsoft.EntityFrameworkCore.DbContext,TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.ExecutionResult<TResult>>> verifySucceeded, System.Threading.CancellationToken cancellationToken = default);
public virtual System.Threading.Tasks.Task<TResult> ExecuteAsync<TState,TResult> (TState state, Func<Microsoft.EntityFrameworkCore.DbContext,TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<TResult>> operation, Func<Microsoft.EntityFrameworkCore.DbContext,TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.ExecutionResult<TResult>>>? verifySucceeded, System.Threading.CancellationToken cancellationToken = default);
abstract member ExecuteAsync : 'State * Func<Microsoft.EntityFrameworkCore.DbContext, 'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * Func<Microsoft.EntityFrameworkCore.DbContext, 'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.ExecutionResult<'Result>>> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
override this.ExecuteAsync : 'State * Func<Microsoft.EntityFrameworkCore.DbContext, 'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * Func<Microsoft.EntityFrameworkCore.DbContext, 'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.ExecutionResult<'Result>>> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
Public Overridable Function ExecuteAsync(Of TState, TResult) (state As TState, operation As Func(Of DbContext, TState, CancellationToken, Task(Of TResult)), verifySucceeded As Func(Of DbContext, TState, CancellationToken, Task(Of ExecutionResult(Of TResult))), Optional cancellationToken As CancellationToken = Nothing) As Task(Of TResult)
형식 매개 변수
- TState
상태의 형식입니다.
- TResult
에서 반환operation
된 Task<TResult> 의 결과 형식입니다.
매개 변수
- state
- TState
작업에 전달될 상태입니다.
- operation
- Func<DbContext,TState,CancellationToken,Task<TResult>>
형식 TResult
의 시작 작업을 반환하는 함수입니다.
- verifySucceeded
- Func<DbContext,TState,CancellationToken,Task<ExecutionResult<TResult>>>
예외가 throw된 경우에도 작업이 성공했는지 여부를 테스트하는 대리자입니다.
- cancellationToken
- CancellationToken
재시도 작업을 취소하는 데 사용되는 취소 토큰이지만 이미 진행 중이거나 이미 성공적으로 완료된 작업은 아닙니다.
반환
원래 작업이 성공적으로 완료되면 완료될 작업입니다(처음 또는 일시적 오류를 다시 시도한 후). 일시적이지 않은 오류로 인해 작업이 실패하거나 재시도 제한에 도달하면 반환된 태스크에 오류가 발생하여 예외가 관찰되어야 합니다.
구현
예외
구성된 재시도 횟수가 지나면 작업이 성공하지 못했습니다.
설명
자세한 내용 과 예제는 연결 복원력 및 데이터베이스 재시도 를 참조하세요.
적용 대상
ExecuteAsync<TState,TResult>(Func<TState,CancellationToken,Task<TResult>>, Func<TState,CancellationToken,Task<ExecutionResult<TResult>>>, TState, CancellationToken)
지정된 비동기 작업을 실행하고 결과를 반환합니다.
public virtual System.Threading.Tasks.Task<TResult> ExecuteAsync<TState,TResult> (Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<TResult>> operation, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.ExecutionResult<TResult>>> verifySucceeded, TState state, System.Threading.CancellationToken cancellationToken = default);
abstract member ExecuteAsync : Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.ExecutionResult<'Result>>> * 'State * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
override this.ExecuteAsync : Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.ExecutionResult<'Result>>> * 'State * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
Public Overridable Function ExecuteAsync(Of TState, TResult) (operation As Func(Of TState, CancellationToken, Task(Of TResult)), verifySucceeded As Func(Of TState, CancellationToken, Task(Of ExecutionResult(Of TResult))), state As TState, Optional cancellationToken As CancellationToken = Nothing) As Task(Of TResult)
형식 매개 변수
- TState
상태의 형식입니다.
- TResult
에서 반환operation
된 Task<TResult> 의 결과 형식입니다.
매개 변수
- operation
- Func<TState,CancellationToken,Task<TResult>>
형식 TResult
의 시작 작업을 반환하는 함수입니다.
- verifySucceeded
- Func<TState,CancellationToken,Task<ExecutionResult<TResult>>>
예외가 throw된 경우에도 작업이 성공했는지 여부를 테스트하는 대리자입니다.
- state
- TState
작업에 전달될 상태입니다.
- cancellationToken
- CancellationToken
재시도 작업을 취소하는 데 사용되는 취소 토큰이지만 이미 진행 중이거나 이미 성공적으로 완료된 작업은 아닙니다.
반환
원래 작업이 성공적으로 완료되면 완료될 작업입니다(처음 또는 일시적 오류를 다시 시도한 후). 일시적이지 않은 오류로 인해 작업이 실패하거나 재시도 제한에 도달하면 반환된 태스크에 오류가 발생하여 예외가 관찰되어야 합니다.
구현
예외
구성된 재시도 횟수 후에 작업이 성공하지 못한 경우 throw됩니다.
적용 대상
Entity Framework