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>>

委派,測試作業是否成功,即使認可交易時擲回例外狀況也一樣。

傳回

如果原始 (工作第一次或重試暫時性失敗之後,第一次或重試暫時) 性失敗之後,就會執行至完成的工作。 如果工作失敗且發生非暫時性錯誤或達到重試限制,則傳回的工作將會發生錯誤,而且必須觀察到例外狀況。

例外狀況

在設定的重試次數之後,作業未成功。

備註

如需詳細資訊和範例,請參閱 連線復原和資料庫重試

適用於

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>>

委派,測試作業是否成功,即使認可交易時擲回例外狀況也一樣。

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

operation 回的結果 Task<TResult> 型別。

參數

strategy
IExecutionStrategy

將用於執行的策略。

operation
Func<CancellationToken,Task<TResult>>

函式,傳回 型 TResult 別 為 的已啟動工作。

verifySucceeded
Func<CancellationToken,Task<Boolean>>

委派,測試作業是否成功,即使認可交易時擲回例外狀況也一樣。

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

operation 回的結果 Task<TResult> 型別。

參數

strategy
IExecutionStrategy

將用於執行的策略。

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

函式,傳回 型 TResult 別 為 的已啟動工作。

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

委派,測試作業是否成功,即使認可交易時擲回例外狀況也一樣。

state
TState

將傳遞至作業的狀態。

context
DbContext

將用來啟動交易的內容。

cancellationToken
CancellationToken

用來取消重試作業的取消權杖,但不是已在正式發行前小眾測試版或成功完成的作業。

傳回

Task<TResult>

如果原始 (工作第一次或重試暫時性失敗之後,第一次或重試暫時) 性失敗之後,就會執行至完成的工作。 如果工作失敗且發生非暫時性錯誤或達到重試限制,則傳回的工作將會發生錯誤,而且必須觀察到例外狀況。

例外狀況

如果作業在設定的重試次數之後未成功,則會擲回 。

適用於

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

operation 回的結果 Task<TResult> 型別。

參數

strategy
IExecutionStrategy

將用於執行的策略。

state
TState

將傳遞至作業的狀態。

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

函式,傳回 型 TResult 別 為 的已啟動工作。

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

委派,測試作業是否成功,即使認可交易時擲回例外狀況也一樣。

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

operation 回的結果 Task<TResult> 型別。

參數

strategy
IExecutionStrategy

將用於執行的策略。

state
TState

將傳遞至作業的狀態。

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

函式,傳回 型 TResult 別 為 的已啟動工作。

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

委派,測試作業是否成功,即使認可交易時擲回例外狀況也一樣。

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>>

委派,測試作業是否成功,即使認可交易時擲回例外狀況也一樣。

cancellationToken
CancellationToken

用來取消重試作業的取消權杖,但不是已在正式發行前小眾測試版或成功完成的作業。

傳回

如果原始 (工作第一次或重試暫時性失敗之後,第一次或重試暫時) 性失敗之後,就會執行至完成的工作。 如果工作失敗且發生非暫時性錯誤或達到重試限制,則傳回的工作將會發生錯誤,而且必須觀察到例外狀況。

例外狀況

在設定的重試次數之後,作業未成功。

備註

如需詳細資訊和範例,請參閱 連線復原和資料庫重試

適用於