다음을 통해 공유


ExecutionStrategyExtensions.ExecuteInTransactionAsync 메서드

정의

오버로드

ExecuteInTransactionAsync(IExecutionStrategy, Func<Task>, Func<Task<Boolean>>)

트랜잭션에서 지정된 비동기 작업을 실행합니다. 커밋 중에 오류가 발생하는 경우 트랜잭션이 롤백되었는지 여부를 검사 수 있습니다.

ExecuteInTransactionAsync(IExecutionStrategy, Func<CancellationToken,Task>, Func<CancellationToken,Task<Boolean>>, CancellationToken)

트랜잭션에서 지정된 비동기 작업을 실행합니다. 커밋 중에 오류가 발생하는 경우 트랜잭션이 롤백되었는지 여부를 검사 수 있습니다.

ExecuteInTransactionAsync<TResult>(IExecutionStrategy, Func<CancellationToken, Task<TResult>>, Func<CancellationToken,Task<Boolean>>, CancellationToken)

트랜잭션에서 지정된 비동기 작업을 실행하고 결과를 반환합니다. 커밋 중에 오류가 발생하는 경우 트랜잭션이 롤백되었는지 여부를 검사 수 있습니다.

ExecuteInTransactionAsync<TState,TResult>(IExecutionStrategy, Func<TState,CancellationToken,Task<TResult>>, Func<TState,CancellationToken, Task<Boolean>>, TState, DbContext, CancellationToken)

지정된 비동기 작업을 실행하고 결과를 반환합니다.

ExecuteInTransactionAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task<TResult>>, Func<TState, CancellationToken,Task<Boolean>>, CancellationToken)

트랜잭션에서 지정된 비동기 작업을 실행하고 결과를 반환합니다. 커밋 중에 오류가 발생하는 경우 트랜잭션이 롤백되었는지 여부를 검사 수 있습니다.

ExecuteInTransactionAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task<TResult>>, Func<TState, CancellationToken,Task<Boolean>>, Func<DbContext,CancellationToken, Task<IDbContextTransaction>>, CancellationToken)

트랜잭션에서 지정된 비동기 작업을 실행하고 결과를 반환합니다. 커밋 중에 오류가 발생하는 경우 트랜잭션이 롤백되었는지 여부를 검사 수 있습니다.

ExecuteInTransactionAsync<TState>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task>, Func<TState,CancellationToken, Task<Boolean>>, CancellationToken)

트랜잭션에서 지정된 비동기 작업을 실행합니다. 커밋 중에 오류가 발생하는 경우 트랜잭션이 롤백되었는지 여부를 검사 수 있습니다.

ExecuteInTransactionAsync(IExecutionStrategy, Func<Task>, Func<Task<Boolean>>)

트랜잭션에서 지정된 비동기 작업을 실행합니다. 커밋 중에 오류가 발생하는 경우 트랜잭션이 롤백되었는지 여부를 검사 수 있습니다.

public static System.Threading.Tasks.Task ExecuteInTransactionAsync (this Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy strategy, Func<System.Threading.Tasks.Task> operation, Func<System.Threading.Tasks.Task<bool>> verifySucceeded);
static member ExecuteInTransactionAsync : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy * Func<System.Threading.Tasks.Task> * Func<System.Threading.Tasks.Task<bool>> -> System.Threading.Tasks.Task
<Extension()>
Public Function ExecuteInTransactionAsync (strategy As IExecutionStrategy, operation As Func(Of Task), verifySucceeded As Func(Of Task(Of Boolean))) As Task

매개 변수

strategy
IExecutionStrategy

실행에 사용할 전략입니다.

operation
Func<Task>

시작된 작업을 반환하는 함수입니다.

verifySucceeded
Func<Task<Boolean>>

트랜잭션이 커밋될 때 예외가 throw된 경우에도 작업이 성공했는지 여부를 테스트하는 대리자입니다.

반환

원래 작업이 성공적으로 완료되면 완료될 작업입니다(처음 또는 일시적 오류를 다시 시도한 후). 일시적이지 않은 오류로 인해 작업이 실패하거나 재시도 제한에 도달하면 반환된 태스크에 오류가 발생하여 예외가 관찰되어야 합니다.

예외

구성된 재시도 횟수가 지나면 작업이 성공하지 못했습니다.

설명

자세한 내용 과 예제는 연결 복원력 및 데이터베이스 재시도 를 참조하세요.

적용 대상

ExecuteInTransactionAsync(IExecutionStrategy, Func<CancellationToken,Task>, Func<CancellationToken,Task<Boolean>>, CancellationToken)

트랜잭션에서 지정된 비동기 작업을 실행합니다. 커밋 중에 오류가 발생하는 경우 트랜잭션이 롤백되었는지 여부를 검사 수 있습니다.

public static System.Threading.Tasks.Task ExecuteInTransactionAsync (this Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy strategy, Func<System.Threading.CancellationToken,System.Threading.Tasks.Task> operation, Func<System.Threading.CancellationToken,System.Threading.Tasks.Task<bool>> verifySucceeded, System.Threading.CancellationToken cancellationToken = default);
static member ExecuteInTransactionAsync : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy * Func<System.Threading.CancellationToken, System.Threading.Tasks.Task> * Func<System.Threading.CancellationToken, System.Threading.Tasks.Task<bool>> * System.Threading.CancellationToken -> System.Threading.Tasks.Task
<Extension()>
Public Function ExecuteInTransactionAsync (strategy As IExecutionStrategy, operation As Func(Of CancellationToken, Task), verifySucceeded As Func(Of CancellationToken, Task(Of Boolean)), Optional cancellationToken As CancellationToken = Nothing) As Task

매개 변수

strategy
IExecutionStrategy

실행에 사용할 전략입니다.

operation
Func<CancellationToken,Task>

시작된 작업을 반환하는 함수입니다.

verifySucceeded
Func<CancellationToken,Task<Boolean>>

트랜잭션이 커밋될 때 예외가 throw된 경우에도 작업이 성공했는지 여부를 테스트하는 대리자입니다.

cancellationToken
CancellationToken

재시도 작업을 취소하는 데 사용되는 취소 토큰이지만 이미 진행 중이거나 이미 성공적으로 완료된 작업은 아닙니다.

반환

원래 작업이 성공적으로 완료되면 완료될 작업입니다(처음 또는 일시적 오류를 다시 시도한 후). 일시적이지 않은 오류로 인해 작업이 실패하거나 재시도 제한에 도달하면 반환된 태스크에 오류가 발생하여 예외가 관찰되어야 합니다.

예외

구성된 재시도 횟수가 지나면 작업이 성공하지 못했습니다.

설명

자세한 내용 과 예제는 연결 복원력 및 데이터베이스 재시도 를 참조하세요.

적용 대상

ExecuteInTransactionAsync<TResult>(IExecutionStrategy, Func<CancellationToken, Task<TResult>>, Func<CancellationToken,Task<Boolean>>, CancellationToken)

트랜잭션에서 지정된 비동기 작업을 실행하고 결과를 반환합니다. 커밋 중에 오류가 발생하는 경우 트랜잭션이 롤백되었는지 여부를 검사 수 있습니다.

public static System.Threading.Tasks.Task<TResult> ExecuteInTransactionAsync<TResult> (this Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy strategy, Func<System.Threading.CancellationToken,System.Threading.Tasks.Task<TResult>> operation, Func<System.Threading.CancellationToken,System.Threading.Tasks.Task<bool>> verifySucceeded, System.Threading.CancellationToken cancellationToken = default);
static member ExecuteInTransactionAsync : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy * Func<System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * Func<System.Threading.CancellationToken, System.Threading.Tasks.Task<bool>> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
<Extension()>
Public Function ExecuteInTransactionAsync(Of TResult) (strategy As IExecutionStrategy, operation As Func(Of CancellationToken, Task(Of TResult)), verifySucceeded As Func(Of CancellationToken, Task(Of Boolean)), Optional cancellationToken As CancellationToken = Nothing) As Task(Of TResult)

형식 매개 변수

TResult

에서 반환operationTask<TResult> 의 결과 형식입니다.

매개 변수

strategy
IExecutionStrategy

실행에 사용할 전략입니다.

operation
Func<CancellationToken,Task<TResult>>

형식 TResult의 시작 작업을 반환하는 함수입니다.

verifySucceeded
Func<CancellationToken,Task<Boolean>>

트랜잭션이 커밋될 때 예외가 throw된 경우에도 작업이 성공했는지 여부를 테스트하는 대리자입니다.

cancellationToken
CancellationToken

재시도 작업을 취소하는 데 사용되는 취소 토큰이지만 이미 진행 중이거나 이미 성공적으로 완료된 작업은 아닙니다.

반환

Task<TResult>

원래 작업이 성공적으로 완료되면 완료될 작업입니다(처음 또는 일시적 오류를 다시 시도한 후). 일시적이지 않은 오류로 인해 작업이 실패하거나 재시도 제한에 도달하면 반환된 태스크에 오류가 발생하여 예외가 관찰되어야 합니다.

예외

구성된 재시도 횟수가 지나면 작업이 성공하지 못했습니다.

설명

자세한 내용 과 예제는 연결 복원력 및 데이터베이스 재시도 를 참조하세요.

적용 대상

ExecuteInTransactionAsync<TState,TResult>(IExecutionStrategy, Func<TState,CancellationToken,Task<TResult>>, Func<TState,CancellationToken, Task<Boolean>>, TState, DbContext, CancellationToken)

지정된 비동기 작업을 실행하고 결과를 반환합니다.

public static System.Threading.Tasks.Task<TResult> ExecuteInTransactionAsync<TState,TResult> (this Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy strategy, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<TResult>> operation, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<bool>> verifySucceeded, TState state, Microsoft.EntityFrameworkCore.DbContext context, System.Threading.CancellationToken cancellationToken = default);
static member ExecuteInTransactionAsync : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<bool>> * 'State * Microsoft.EntityFrameworkCore.DbContext * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
<Extension()>
Public Function ExecuteInTransactionAsync(Of TState, TResult) (strategy As IExecutionStrategy, operation As Func(Of TState, CancellationToken, Task(Of TResult)), verifySucceeded As Func(Of TState, CancellationToken, Task(Of Boolean)), state As TState, context As DbContext, Optional cancellationToken As CancellationToken = Nothing) As Task(Of TResult)

형식 매개 변수

TState

상태의 형식입니다.

TResult

에서 반환operationTask<TResult> 의 결과 형식입니다.

매개 변수

strategy
IExecutionStrategy

실행에 사용할 전략입니다.

operation
Func<TState,CancellationToken,Task<TResult>>

형식 TResult의 시작 작업을 반환하는 함수입니다.

verifySucceeded
Func<TState,CancellationToken,Task<Boolean>>

트랜잭션이 커밋될 때 예외가 throw된 경우에도 작업이 성공했는지 여부를 테스트하는 대리자입니다.

state
TState

작업에 전달될 상태입니다.

context
DbContext

트랜잭션을 시작하는 데 사용할 컨텍스트입니다.

cancellationToken
CancellationToken

재시도 작업을 취소하는 데 사용되는 취소 토큰이지만 이미 진행 중이거나 이미 성공적으로 완료된 작업은 아닙니다.

반환

Task<TResult>

원래 작업이 성공적으로 완료되면 완료될 작업입니다(처음 또는 일시적 오류를 다시 시도한 후). 일시적이지 않은 오류로 인해 작업이 실패하거나 재시도 제한에 도달하면 반환된 태스크에 오류가 발생하여 예외가 관찰되어야 합니다.

예외

구성된 재시도 횟수 후에 작업이 성공하지 못한 경우 throw됩니다.

적용 대상

ExecuteInTransactionAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task<TResult>>, Func<TState, CancellationToken,Task<Boolean>>, CancellationToken)

트랜잭션에서 지정된 비동기 작업을 실행하고 결과를 반환합니다. 커밋 중에 오류가 발생하는 경우 트랜잭션이 롤백되었는지 여부를 검사 수 있습니다.

public static System.Threading.Tasks.Task<TResult> ExecuteInTransactionAsync<TState,TResult> (this Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy strategy, TState state, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<TResult>> operation, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<bool>> verifySucceeded, System.Threading.CancellationToken cancellationToken = default);
static member ExecuteInTransactionAsync : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy * 'State * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<bool>> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
<Extension()>
Public Function ExecuteInTransactionAsync(Of TState, TResult) (strategy As IExecutionStrategy, state As TState, operation As Func(Of TState, CancellationToken, Task(Of TResult)), verifySucceeded As Func(Of TState, CancellationToken, Task(Of Boolean)), Optional cancellationToken As CancellationToken = Nothing) As Task(Of TResult)

형식 매개 변수

TState

상태의 형식입니다.

TResult

에서 반환operationTask<TResult> 의 결과 형식입니다.

매개 변수

strategy
IExecutionStrategy

실행에 사용할 전략입니다.

state
TState

작업에 전달될 상태입니다.

operation
Func<TState,CancellationToken,Task<TResult>>

형식 TResult의 시작 작업을 반환하는 함수입니다.

verifySucceeded
Func<TState,CancellationToken,Task<Boolean>>

트랜잭션이 커밋될 때 예외가 throw된 경우에도 작업이 성공했는지 여부를 테스트하는 대리자입니다.

cancellationToken
CancellationToken

재시도 작업을 취소하는 데 사용되는 취소 토큰이지만 이미 진행 중이거나 이미 성공적으로 완료된 작업은 아닙니다.

반환

Task<TResult>

원래 작업이 성공적으로 완료되면 완료될 작업입니다(처음 또는 일시적 오류를 다시 시도한 후). 일시적이지 않은 오류로 인해 작업이 실패하거나 재시도 제한에 도달하면 반환된 태스크에 오류가 발생하여 예외가 관찰되어야 합니다.

예외

구성된 재시도 횟수가 지나면 작업이 성공하지 못했습니다.

설명

자세한 내용 과 예제는 연결 복원력 및 데이터베이스 재시도 를 참조하세요.

적용 대상

ExecuteInTransactionAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task<TResult>>, Func<TState, CancellationToken,Task<Boolean>>, Func<DbContext,CancellationToken, Task<IDbContextTransaction>>, CancellationToken)

트랜잭션에서 지정된 비동기 작업을 실행하고 결과를 반환합니다. 커밋 중에 오류가 발생하는 경우 트랜잭션이 롤백되었는지 여부를 검사 수 있습니다.

public static System.Threading.Tasks.Task<TResult> ExecuteInTransactionAsync<TState,TResult> (Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy strategy, TState state, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<TResult>> operation, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<bool>> verifySucceeded, Func<Microsoft.EntityFrameworkCore.DbContext,System.Threading.CancellationToken,System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.IDbContextTransaction>> beginTransaction, System.Threading.CancellationToken cancellationToken = default);
static member ExecuteInTransactionAsync : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy * 'State * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<bool>> * Func<Microsoft.EntityFrameworkCore.DbContext, System.Threading.CancellationToken, System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.IDbContextTransaction>> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
Public Function ExecuteInTransactionAsync(Of TState, TResult) (strategy As IExecutionStrategy, state As TState, operation As Func(Of TState, CancellationToken, Task(Of TResult)), verifySucceeded As Func(Of TState, CancellationToken, Task(Of Boolean)), beginTransaction As Func(Of DbContext, CancellationToken, Task(Of IDbContextTransaction)), Optional cancellationToken As CancellationToken = Nothing) As Task(Of TResult)

형식 매개 변수

TState

상태의 형식입니다.

TResult

에서 반환operationTask<TResult> 의 결과 형식입니다.

매개 변수

strategy
IExecutionStrategy

실행에 사용할 전략입니다.

state
TState

작업에 전달될 상태입니다.

operation
Func<TState,CancellationToken,Task<TResult>>

형식 TResult의 시작 작업을 반환하는 함수입니다.

verifySucceeded
Func<TState,CancellationToken,Task<Boolean>>

트랜잭션이 커밋될 때 예외가 throw된 경우에도 작업이 성공했는지 여부를 테스트하는 대리자입니다.

beginTransaction
Func<DbContext,CancellationToken,Task<IDbContextTransaction>>

지정된 컨텍스트를 사용하여 트랜잭션을 시작하는 대리자입니다.

cancellationToken
CancellationToken

재시도 작업을 취소하는 데 사용되는 취소 토큰이지만 이미 진행 중이거나 이미 성공적으로 완료된 작업은 아닙니다.

반환

Task<TResult>

원래 작업이 성공적으로 완료되면 완료될 작업입니다(처음 또는 일시적 오류를 다시 시도한 후). 일시적이지 않은 오류로 인해 작업이 실패하거나 재시도 제한에 도달하면 반환된 태스크에 오류가 발생하여 예외가 관찰되어야 합니다.

예외

구성된 재시도 횟수가 지나면 작업이 성공하지 못했습니다.

설명

자세한 내용 과 예제는 연결 복원력 및 데이터베이스 재시도 를 참조하세요.

적용 대상

ExecuteInTransactionAsync<TState>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task>, Func<TState,CancellationToken, Task<Boolean>>, CancellationToken)

트랜잭션에서 지정된 비동기 작업을 실행합니다. 커밋 중에 오류가 발생하는 경우 트랜잭션이 롤백되었는지 여부를 검사 수 있습니다.

public static System.Threading.Tasks.Task ExecuteInTransactionAsync<TState> (this Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy strategy, TState state, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task> operation, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<bool>> verifySucceeded, System.Threading.CancellationToken cancellationToken = default);
static member ExecuteInTransactionAsync : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy * 'State * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task> * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<bool>> * System.Threading.CancellationToken -> System.Threading.Tasks.Task
<Extension()>
Public Function ExecuteInTransactionAsync(Of TState) (strategy As IExecutionStrategy, state As TState, operation As Func(Of TState, CancellationToken, Task), verifySucceeded As Func(Of TState, CancellationToken, Task(Of Boolean)), Optional cancellationToken As CancellationToken = Nothing) As Task

형식 매개 변수

TState

상태의 형식입니다.

매개 변수

strategy
IExecutionStrategy

실행에 사용할 전략입니다.

state
TState

작업에 전달될 상태입니다.

operation
Func<TState,CancellationToken,Task>

시작된 작업을 반환하는 함수입니다.

verifySucceeded
Func<TState,CancellationToken,Task<Boolean>>

트랜잭션이 커밋될 때 예외가 throw된 경우에도 작업이 성공했는지 여부를 테스트하는 대리자입니다.

cancellationToken
CancellationToken

재시도 작업을 취소하는 데 사용되는 취소 토큰이지만 이미 진행 중이거나 이미 성공적으로 완료된 작업은 아닙니다.

반환

원래 작업이 성공적으로 완료되면 완료될 때까지 실행되는 작업입니다(처음 또는 일시적 오류를 다시 시도한 후). 일시적이지 않은 오류로 인해 작업이 실패하거나 재시도 제한에 도달하면 반환된 태스크에 오류가 발생하여 예외가 관찰되어야 합니다.

예외

구성된 재시도 횟수가 지나면 작업이 성공하지 못했습니다.

설명

자세한 내용 과 예제는 연결 복원력 및 데이터베이스 재시 도를 참조하세요.

적용 대상