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