ExecutionStrategyExtensions.ExecuteAsync 方法

定義

多載

ExecuteAsync(IExecutionStrategy, Func<Task>)

執行指定的非同步作業。

ExecuteAsync(IExecutionStrategy, Func<CancellationToken,Task>, CancellationToken)

執行指定的非同步作業。

ExecuteAsync<TResult>(IExecutionStrategy, Func<Task<TResult>>)

執行指定的非同步作業,並傳回結果。

ExecuteAsync<TResult>(IExecutionStrategy, Func<CancellationToken,Task<TResult>>, CancellationToken)

執行指定的非同步作業,並傳回結果。

ExecuteAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState, CancellationToken,Task<TResult>>, Func<TState,CancellationToken, Task<ExecutionResult<TResult>>>, CancellationToken)

執行指定的非同步作業,並傳回結果。

ExecuteAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task<TResult>>, CancellationToken)

執行指定的非同步作業,並傳回結果。

ExecuteAsync<TState,TResult>(IExecutionStrategy, Func<TState,CancellationToken,Task<TResult>>, TState, CancellationToken)

執行指定的非同步作業,並傳回結果。

ExecuteAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState,Task<TResult>>)

執行指定的非同步作業,並傳回結果。

ExecuteAsync<TState,TResult>(IExecutionStrategy, Func<TState,Task<TResult>>, TState)

執行指定的非同步作業,並傳回結果。

ExecuteAsync<TState>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task>, CancellationToken)

執行指定的非同步作業。

ExecuteAsync<TState>(IExecutionStrategy, Func<TState,CancellationToken,Task>, TState, CancellationToken)

執行指定的非同步作業。

ExecuteAsync<TState>(IExecutionStrategy, TState, Func<TState,Task>)

執行指定的非同步作業。

ExecuteAsync<TState>(IExecutionStrategy, Func<TState,Task>, TState)

執行指定的非同步作業。

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

將用於執行的策略。

operation
Func<Task>

傳回已啟動工作的函式。

傳回

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

備註

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

適用於

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

將用於執行的策略。

operation
Func<Task<TResult>>

傳回 類型 TResult 之已啟動工作的函式。

傳回

Task<TResult>

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

備註

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

適用於

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

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

傳回

Task<TResult>

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

例外狀況

備註

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

適用於

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

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

傳回

Task<TResult>

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

例外狀況

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

備註

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

適用於

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

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

傳回

Task<TResult>

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

例外狀況

備註

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

適用於

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

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

傳回

Task<TResult>

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

適用於

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

將傳遞至作業的狀態。

operation
Func<TState,Task<TResult>>

傳回 類型 TResult 之已啟動工作的函式。

傳回

Task<TResult>

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

備註

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

適用於

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

將用於執行的策略。

operation
Func<TState,Task<TResult>>

傳回 類型 TResult 之已啟動工作的函式。

state
TState

將傳遞至作業的狀態。

傳回

Task<TResult>

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

適用於

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

將傳遞至作業的狀態。

operation
Func<TState,Task>

傳回已啟動工作的函式。

傳回

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

備註

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

適用於

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

將用於執行的策略。

operation
Func<TState,Task>

傳回已啟動工作的函式。

state
TState

將傳遞至作業的狀態。

傳回

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

適用於