共用方式為


RelationalExecutionStrategyExtensions.ExecuteInTransactionAsync 方法

定義

多載

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

在交易中執行指定的非同步作業。 允許檢查交易是否已在認可期間發生錯誤時回復。

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

在交易中執行指定的非同步作業。 允許檢查交易是否已在認可期間發生錯誤時回復。

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

在交易中執行指定的非同步作業,並傳回結果。 允許檢查交易是否已在認可期間發生錯誤時回復。

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

執行指定的非同步作業,並傳回結果。 允許檢查交易是否已在認可期間發生錯誤時回復。

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

在交易中執行指定的非同步作業。 允許檢查交易是否已在認可期間發生錯誤時回復。

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

在交易中執行指定的非同步作業。 允許檢查交易是否已在認可期間發生錯誤時回復。

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, System.Data.IsolationLevel isolationLevel);
static member ExecuteInTransactionAsync : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy * Func<System.Threading.Tasks.Task> * Func<System.Threading.Tasks.Task<bool>> * System.Data.IsolationLevel -> System.Threading.Tasks.Task
<Extension()>
Public Function ExecuteInTransactionAsync (strategy As IExecutionStrategy, operation As Func(Of Task), verifySucceeded As Func(Of Task(Of Boolean)), isolationLevel As IsolationLevel) As Task

參數

strategy
IExecutionStrategy

將用於執行的策略。

operation
Func<Task>

傳回已啟動工作的函式。

verifySucceeded
Func<Task<Boolean>>

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

isolationLevel
IsolationLevel

要用於交易的隔離等級。

傳回

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

例外狀況

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

備註

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

適用於

ExecuteInTransactionAsync(IExecutionStrategy, Func<CancellationToken,Task>, Func<CancellationToken,Task<Boolean>>, IsolationLevel, 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.Data.IsolationLevel isolationLevel, 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.Data.IsolationLevel * 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)), isolationLevel As IsolationLevel, Optional cancellationToken As CancellationToken = Nothing) As Task

參數

strategy
IExecutionStrategy

將用於執行的策略。

operation
Func<CancellationToken,Task>

傳回已啟動工作的函式。

verifySucceeded
Func<CancellationToken,Task<Boolean>>

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

isolationLevel
IsolationLevel

要用於交易的隔離等級。

cancellationToken
CancellationToken

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

傳回

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

例外狀況

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

備註

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

適用於

ExecuteInTransactionAsync<TResult>(IExecutionStrategy, Func<CancellationToken, Task<TResult>>, Func<CancellationToken,Task<Boolean>>, IsolationLevel, 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.Data.IsolationLevel isolationLevel, 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.Data.IsolationLevel * 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)), isolationLevel As IsolationLevel, 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>>

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

isolationLevel
IsolationLevel

要用於交易的隔離等級。

cancellationToken
CancellationToken

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

傳回

Task<TResult>

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

例外狀況

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

備註

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

適用於

ExecuteInTransactionAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task<TResult>>, Func<TState, CancellationToken,Task<Boolean>>, IsolationLevel, 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.Data.IsolationLevel isolationLevel, 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.Data.IsolationLevel * 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)), isolationLevel As IsolationLevel, 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>>

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

isolationLevel
IsolationLevel

要用於交易的隔離等級。

cancellationToken
CancellationToken

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

傳回

Task<TResult>

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

例外狀況

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

備註

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

適用於

ExecuteInTransactionAsync<TState>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task>, Func<TState,CancellationToken, Task<Boolean>>, IsolationLevel, 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.Data.IsolationLevel isolationLevel, 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.Data.IsolationLevel * 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)), isolationLevel As IsolationLevel, Optional cancellationToken As CancellationToken = Nothing) As Task

類型參數

TState

狀態的類型。

參數

strategy
IExecutionStrategy

將用於執行的策略。

state
TState

將傳遞至作業的狀態。

operation
Func<TState,CancellationToken,Task>

傳回已啟動工作的函式。

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

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

isolationLevel
IsolationLevel

要用於交易的隔離等級。

cancellationToken
CancellationToken

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

傳回

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

例外狀況

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

備註

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

適用於