ExecutionStrategyExtensions.ExecuteAsync 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
ExecuteAsync(IExecutionStrategy, Func<Task>)
執行指定的非同步作業。
public static System.Threading.Tasks.Task ExecuteAsync (this Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy strategy, Func<System.Threading.Tasks.Task> operation);
static member ExecuteAsync : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy * Func<System.Threading.Tasks.Task> -> System.Threading.Tasks.Task
<Extension()>
Public Function ExecuteAsync (strategy As IExecutionStrategy, operation As Func(Of Task)) As Task
參數
- strategy
- IExecutionStrategy
將用於執行的策略。
傳回
如果原始工作第一次順利完成,或在重試暫時性失敗) 之後 (,則會執行至完成的工作。 如果工作失敗並出現非暫時性錯誤或達到重試限制,則傳回的工作將會發生錯誤,而且必須觀察到例外狀況。
備註
如需詳細資訊 和範例,請參閱連線復原和資料庫重試 。
適用於
ExecuteAsync(IExecutionStrategy, Func<CancellationToken,Task>, CancellationToken)
執行指定的非同步作業。
public static System.Threading.Tasks.Task ExecuteAsync (this Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy strategy, Func<System.Threading.CancellationToken,System.Threading.Tasks.Task> operation, System.Threading.CancellationToken cancellationToken);
static member ExecuteAsync : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy * Func<System.Threading.CancellationToken, System.Threading.Tasks.Task> * System.Threading.CancellationToken -> System.Threading.Tasks.Task
<Extension()>
Public Function ExecuteAsync (strategy As IExecutionStrategy, operation As Func(Of CancellationToken, Task), cancellationToken As CancellationToken) As Task
參數
- strategy
- IExecutionStrategy
將用於執行的策略。
- operation
- Func<CancellationToken,Task>
傳回已啟動工作的函式。
- cancellationToken
- CancellationToken
用來取消重試作業的取消權杖,但不是已在正式發行前小眾測試版或成功完成的作業。
傳回
如果原始工作第一次順利完成,或在重試暫時性失敗) 之後 (,則會執行至完成的工作。 如果工作失敗並出現非暫時性錯誤或達到重試限制,則傳回的工作將會發生錯誤,而且必須觀察到例外狀況。
例外狀況
備註
如需詳細資訊 和範例,請參閱連線復原和資料庫重試 。
適用於
ExecuteAsync<TResult>(IExecutionStrategy, Func<Task<TResult>>)
執行指定的非同步作業,並傳回結果。
public static System.Threading.Tasks.Task<TResult> ExecuteAsync<TResult> (this Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy strategy, Func<System.Threading.Tasks.Task<TResult>> operation);
static member ExecuteAsync : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy * Func<System.Threading.Tasks.Task<'Result>> -> System.Threading.Tasks.Task<'Result>
<Extension()>
Public Function ExecuteAsync(Of TResult) (strategy As IExecutionStrategy, operation As Func(Of Task(Of TResult))) As Task(Of TResult)
類型參數
- TResult
傳 operation
回的結果 Task<TResult> 型別。
參數
- strategy
- IExecutionStrategy
將用於執行的策略。
傳回
如果原始工作第一次順利完成,或在重試暫時性失敗) 之後 (,則會執行至完成的工作。 如果工作失敗並出現非暫時性錯誤或達到重試限制,則傳回的工作將會發生錯誤,而且必須觀察到例外狀況。
備註
如需詳細資訊 和範例,請參閱連線復原和資料庫重試 。
適用於
ExecuteAsync<TResult>(IExecutionStrategy, Func<CancellationToken,Task<TResult>>, CancellationToken)
執行指定的非同步作業,並傳回結果。
public static System.Threading.Tasks.Task<TResult> ExecuteAsync<TResult> (this Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy strategy, Func<System.Threading.CancellationToken,System.Threading.Tasks.Task<TResult>> operation, System.Threading.CancellationToken cancellationToken);
static member ExecuteAsync : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy * Func<System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
<Extension()>
Public Function ExecuteAsync(Of TResult) (strategy As IExecutionStrategy, operation As Func(Of CancellationToken, Task(Of TResult)), cancellationToken As CancellationToken) As Task(Of TResult)
類型參數
- TResult
傳 operation
回的結果 Task<TResult> 型別。
參數
- strategy
- IExecutionStrategy
將用於執行的策略。
- operation
- Func<CancellationToken,Task<TResult>>
傳回 類型 TResult
之已啟動工作的函式。
- cancellationToken
- CancellationToken
用來取消重試作業的取消權杖,但不是已在正式發行前小眾測試版或成功完成的作業。
傳回
如果原始工作第一次順利完成,或在重試暫時性失敗) 之後 (,則會執行至完成的工作。 如果工作失敗並出現非暫時性錯誤或達到重試限制,則傳回的工作將會發生錯誤,而且必須觀察到例外狀況。
例外狀況
備註
如需詳細資訊 和範例,請參閱連線復原和資料庫重試 。
適用於
ExecuteAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState, CancellationToken,Task<TResult>>, Func<TState,CancellationToken, Task<ExecutionResult<TResult>>>, CancellationToken)
執行指定的非同步作業,並傳回結果。
public static System.Threading.Tasks.Task<TResult> ExecuteAsync<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<Microsoft.EntityFrameworkCore.Storage.ExecutionResult<TResult>>> verifySucceeded, System.Threading.CancellationToken cancellationToken = default);
public static System.Threading.Tasks.Task<TResult> ExecuteAsync<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<Microsoft.EntityFrameworkCore.Storage.ExecutionResult<TResult>>>? verifySucceeded, System.Threading.CancellationToken cancellationToken = default);
static member ExecuteAsync : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy * 'State * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.ExecutionResult<'Result>>> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
<Extension()>
Public Function ExecuteAsync(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 ExecutionResult(Of TResult))), 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<ExecutionResult<TResult>>>
委派,測試作業是否成功,即使擲回例外狀況也一樣。
- cancellationToken
- CancellationToken
用來取消重試作業的取消權杖,但不是已在正式發行前小眾測試版或成功完成的作業。
傳回
如果原始工作第一次順利完成,或在重試暫時性失敗) 之後 (,則會執行至完成的工作。 如果工作失敗並出現非暫時性錯誤或達到重試限制,則傳回的工作將會發生錯誤,而且必須觀察到例外狀況。
例外狀況
在設定的重試次數之後,作業並未成功。
備註
如需詳細資訊 和範例,請參閱連線復原和資料庫重試 。
適用於
ExecuteAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task<TResult>>, CancellationToken)
執行指定的非同步作業,並傳回結果。
public static System.Threading.Tasks.Task<TResult> ExecuteAsync<TState,TResult> (this Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy strategy, TState state, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<TResult>> operation, System.Threading.CancellationToken cancellationToken);
static member ExecuteAsync : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy * 'State * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
<Extension()>
Public Function ExecuteAsync(Of TState, TResult) (strategy As IExecutionStrategy, state As TState, operation As Func(Of TState, CancellationToken, Task(Of TResult)), cancellationToken As CancellationToken) As Task(Of TResult)
類型參數
- TState
狀態的類型。
- TResult
傳 operation
回的結果 Task<TResult> 型別。
參數
- strategy
- IExecutionStrategy
將用於執行的策略。
- state
- TState
將傳遞至作業的狀態。
- operation
- Func<TState,CancellationToken,Task<TResult>>
傳回 類型 TResult
之已啟動工作的函式。
- cancellationToken
- CancellationToken
用來取消重試作業的取消權杖,但不是已在正式發行前小眾測試版或成功完成的作業。
傳回
如果原始工作第一次順利完成,或在重試暫時性失敗) 之後 (,則會執行至完成的工作。 如果工作失敗並出現非暫時性錯誤或達到重試限制,則傳回的工作將會發生錯誤,而且必須觀察到例外狀況。
例外狀況
備註
如需詳細資訊 和範例,請參閱連線復原和資料庫重試 。
適用於
ExecuteAsync<TState,TResult>(IExecutionStrategy, Func<TState,CancellationToken,Task<TResult>>, TState, CancellationToken)
執行指定的非同步作業,並傳回結果。
public static System.Threading.Tasks.Task<TResult> ExecuteAsync<TState,TResult> (this Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy strategy, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<TResult>> operation, TState state, System.Threading.CancellationToken cancellationToken);
static member ExecuteAsync : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * 'State * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
<Extension()>
Public Function ExecuteAsync(Of TState, TResult) (strategy As IExecutionStrategy, operation As Func(Of TState, CancellationToken, Task(Of TResult)), state As TState, cancellationToken As CancellationToken) As Task(Of TResult)
類型參數
- TState
狀態的類型。
- TResult
傳 operation
回的結果 Task<TResult> 型別。
參數
- strategy
- IExecutionStrategy
將用於執行的策略。
- operation
- Func<TState,CancellationToken,Task<TResult>>
傳回 類型 TResult
之已啟動工作的函式。
- state
- TState
將傳遞至作業的狀態。
- cancellationToken
- CancellationToken
用來取消重試作業的取消權杖,但不是已在正式發行前小眾測試版或成功完成的作業。
傳回
如果原始工作第一次順利完成,或在重試暫時性失敗) 之後 (,則會執行至完成的工作。 如果工作失敗並出現非暫時性錯誤或達到重試限制,則傳回的工作將會發生錯誤,而且必須觀察到例外狀況。
適用於
ExecuteAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState,Task<TResult>>)
執行指定的非同步作業,並傳回結果。
public static System.Threading.Tasks.Task<TResult> ExecuteAsync<TState,TResult> (this Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy strategy, TState state, Func<TState,System.Threading.Tasks.Task<TResult>> operation);
static member ExecuteAsync : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy * 'State * Func<'State, System.Threading.Tasks.Task<'Result>> -> System.Threading.Tasks.Task<'Result>
<Extension()>
Public Function ExecuteAsync(Of TState, TResult) (strategy As IExecutionStrategy, state As TState, operation As Func(Of TState, Task(Of TResult))) As Task(Of TResult)
類型參數
- TState
狀態的類型。
- TResult
傳 operation
回的結果 Task<TResult> 型別。
參數
- strategy
- IExecutionStrategy
將用於執行的策略。
- state
- TState
將傳遞至作業的狀態。
傳回
如果原始工作第一次順利完成,或在重試暫時性失敗) 之後 (,則會執行至完成的工作。 如果工作失敗並出現非暫時性錯誤或達到重試限制,則傳回的工作將會發生錯誤,而且必須觀察到例外狀況。
備註
如需詳細資訊 和範例,請參閱連線復原和資料庫重試 。
適用於
ExecuteAsync<TState,TResult>(IExecutionStrategy, Func<TState,Task<TResult>>, TState)
執行指定的非同步作業,並傳回結果。
public static System.Threading.Tasks.Task<TResult> ExecuteAsync<TState,TResult> (this Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy strategy, Func<TState,System.Threading.Tasks.Task<TResult>> operation, TState state);
static member ExecuteAsync : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy * Func<'State, System.Threading.Tasks.Task<'Result>> * 'State -> System.Threading.Tasks.Task<'Result>
<Extension()>
Public Function ExecuteAsync(Of TState, TResult) (strategy As IExecutionStrategy, operation As Func(Of TState, Task(Of TResult)), state As TState) As Task(Of TResult)
類型參數
- TState
狀態的類型。
- TResult
傳 operation
回的結果 Task<TResult> 型別。
參數
- strategy
- IExecutionStrategy
將用於執行的策略。
- state
- TState
將傳遞至作業的狀態。
傳回
如果原始 (工作第一次或重試暫時性失敗之後,第一次或重試暫時) 性失敗之後,就會執行至完成的工作。 如果工作失敗且發生非暫時性錯誤或達到重試限制,則傳回的工作將會發生錯誤,而且必須觀察到例外狀況。
適用於
ExecuteAsync<TState>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task>, CancellationToken)
執行指定的非同步作業。
public static System.Threading.Tasks.Task ExecuteAsync<TState> (this Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy strategy, TState state, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task> operation, System.Threading.CancellationToken cancellationToken);
static member ExecuteAsync : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy * 'State * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task> * System.Threading.CancellationToken -> System.Threading.Tasks.Task
<Extension()>
Public Function ExecuteAsync(Of TState) (strategy As IExecutionStrategy, state As TState, operation As Func(Of TState, CancellationToken, Task), cancellationToken As CancellationToken) As Task
類型參數
- TState
狀態的類型。
參數
- strategy
- IExecutionStrategy
將用於執行的策略。
- state
- TState
將傳遞至作業的狀態。
- operation
- Func<TState,CancellationToken,Task>
傳回已啟動工作的函式。
- cancellationToken
- CancellationToken
用來取消重試作業的取消權杖,但不是已在正式發行前小眾測試版或成功完成的作業。
傳回
如果原始 (工作第一次或重試暫時性失敗之後,第一次或重試暫時) 性失敗之後,就會執行至完成的工作。 如果工作失敗且發生非暫時性錯誤或達到重試限制,則傳回的工作將會發生錯誤,而且必須觀察到例外狀況。
例外狀況
備註
如需詳細資訊和範例,請參閱 連線復原和資料庫重試 。
適用於
ExecuteAsync<TState>(IExecutionStrategy, Func<TState,CancellationToken,Task>, TState, CancellationToken)
執行指定的非同步作業。
public static System.Threading.Tasks.Task ExecuteAsync<TState> (this Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy strategy, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task> operation, TState state, System.Threading.CancellationToken cancellationToken);
static member ExecuteAsync : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task> * 'State * System.Threading.CancellationToken -> System.Threading.Tasks.Task
<Extension()>
Public Function ExecuteAsync(Of TState) (strategy As IExecutionStrategy, operation As Func(Of TState, CancellationToken, Task), state As TState, cancellationToken As CancellationToken) As Task
類型參數
- TState
狀態的類型。
參數
- strategy
- IExecutionStrategy
將用於執行的策略。
- operation
- Func<TState,CancellationToken,Task>
傳回已啟動工作的函式。
- state
- TState
將傳遞至作業的狀態。
- cancellationToken
- CancellationToken
用來取消重試作業的取消權杖,但不是已在正式發行前小眾測試版或成功完成的作業。
傳回
如果原始 (工作第一次或重試暫時性失敗之後,第一次或重試暫時) 性失敗之後,就會執行至完成的工作。 如果工作失敗且發生非暫時性錯誤或達到重試限制,則傳回的工作將會發生錯誤,而且必須觀察到例外狀況。
適用於
ExecuteAsync<TState>(IExecutionStrategy, TState, Func<TState,Task>)
執行指定的非同步作業。
public static System.Threading.Tasks.Task ExecuteAsync<TState> (this Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy strategy, TState state, Func<TState,System.Threading.Tasks.Task> operation);
static member ExecuteAsync : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy * 'State * Func<'State, System.Threading.Tasks.Task> -> System.Threading.Tasks.Task
<Extension()>
Public Function ExecuteAsync(Of TState) (strategy As IExecutionStrategy, state As TState, operation As Func(Of TState, Task)) As Task
類型參數
- TState
狀態的類型。
參數
- strategy
- IExecutionStrategy
將用於執行的策略。
- state
- TState
將傳遞至作業的狀態。
傳回
如果原始 (工作第一次或重試暫時性失敗之後,第一次或重試暫時) 性失敗之後,就會執行至完成的工作。 如果工作失敗且發生非暫時性錯誤或達到重試限制,則傳回的工作將會發生錯誤,而且必須觀察到例外狀況。
備註
如需詳細資訊和範例,請參閱 連線復原和資料庫重試 。
適用於
ExecuteAsync<TState>(IExecutionStrategy, Func<TState,Task>, TState)
執行指定的非同步作業。
public static System.Threading.Tasks.Task ExecuteAsync<TState> (this Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy strategy, Func<TState,System.Threading.Tasks.Task> operation, TState state);
static member ExecuteAsync : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy * Func<'State, System.Threading.Tasks.Task> * 'State -> System.Threading.Tasks.Task
<Extension()>
Public Function ExecuteAsync(Of TState) (strategy As IExecutionStrategy, operation As Func(Of TState, Task), state As TState) As Task
類型參數
- TState
狀態的類型。
參數
- strategy
- IExecutionStrategy
將用於執行的策略。
- state
- TState
將傳遞至作業的狀態。
傳回
如果原始 (工作第一次或重試暫時性失敗之後,第一次或重試暫時) 性失敗之後,就會執行至完成的工作。 如果工作失敗且發生非暫時性錯誤或達到重試限制,則傳回的工作將會發生錯誤,而且必須觀察到例外狀況。