RelationalExecutionStrategyExtensions.ExecuteInTransactionAsync 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
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
將用於執行的策略。
- 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
用來取消重試作業的取消權杖,但不是已在正式發行前小眾測試版或成功完成的作業。
傳回
如果原始工作第一次順利完成,或在重試暫時性失敗) 之後 (,則會執行至完成的工作。 如果工作失敗並出現非暫時性錯誤或達到重試限制,則傳回的工作將會發生錯誤,而且必須觀察到例外狀況。
例外狀況
在設定的重試次數之後,作業並未成功。
備註
如需詳細資訊 和範例,請參閱連線復原和資料庫重試 。
適用於
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
用來取消重試作業的取消權杖,但不是已在正式發行前小眾測試版或成功完成的作業。
傳回
如果原始工作第一次順利完成,或在重試暫時性失敗) 之後 (,則會執行至完成的工作。 如果工作失敗並出現非暫時性錯誤或達到重試限制,則傳回的工作將會發生錯誤,而且必須觀察到例外狀況。
例外狀況
在設定的重試次數之後,作業並未成功。
備註
如需詳細資訊 和範例,請參閱連線復原和資料庫重試 。
適用於
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
用來取消重試作業的取消權杖,但不是已在正式發行前小眾測試版或成功完成的作業。
傳回
如果原始工作第一次順利完成,或在重試暫時性失敗) 之後 (,則會執行至完成的工作。 如果工作失敗並出現非暫時性錯誤或達到重試限制,則傳回的工作將會發生錯誤,而且必須觀察到例外狀況。
例外狀況
在設定的重試次數之後,作業並未成功。
備註
如需詳細資訊 和範例,請參閱連線復原和資料庫重試 。