Bagikan melalui


IExecutionStrategy.ExecuteAsync Metode

Definisi

Overload

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

Menjalankan operasi asinkron yang ditentukan dan mengembalikan hasilnya.

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

Menjalankan operasi asinkron yang ditentukan dan mengembalikan hasilnya.

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

Menjalankan operasi asinkron yang ditentukan dan mengembalikan hasilnya.

public System.Threading.Tasks.Task<TResult> ExecuteAsync<TState,TResult> (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, TState state, System.Threading.CancellationToken cancellationToken = default);
abstract member ExecuteAsync : Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.ExecutionResult<'Result>>> * 'State * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
Public Function ExecuteAsync(Of TState, TResult) (operation As Func(Of TState, CancellationToken, Task(Of TResult)), verifySucceeded As Func(Of TState, CancellationToken, Task(Of ExecutionResult(Of TResult))), state As TState, Optional cancellationToken As CancellationToken = Nothing) As Task(Of TResult)

Jenis parameter

TState

Jenis status.

TResult

Jenis hasil yang Task<TResult> dikembalikan oleh operation.

Parameter

operation
Func<TState,CancellationToken,Task<TResult>>

Fungsi yang mengembalikan tugas yang dimulai dari jenis TResult.

verifySucceeded
Func<TState,CancellationToken,Task<ExecutionResult<TResult>>>

Delegasi yang menguji apakah operasi berhasil meskipun pengecualian dilemparkan.

state
TState

Status yang akan diteruskan ke operasi.

cancellationToken
CancellationToken

Token pembatalan yang digunakan untuk membatalkan operasi coba lagi, tetapi bukan operasi yang sudah dalam penerbangan atau yang telah berhasil diselesaikan.

Mengembalikan

Task<TResult>

Tugas yang akan berjalan hingga selesai jika tugas asli berhasil diselesaikan (baik pertama kali atau setelah mencoba kembali kegagalan sementara). Jika tugas gagal dengan kesalahan non-sementara atau batas coba lagi tercapai, tugas yang dikembalikan akan menjadi rusak dan pengecualian harus diamati.

Pengecualian

Dilemparkan jika operasi belum berhasil setelah jumlah percobaan ulang yang dikonfigurasi.

Berlaku untuk

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

Menjalankan operasi asinkron yang ditentukan dan mengembalikan hasilnya.

public System.Threading.Tasks.Task<TResult> ExecuteAsync<TState,TResult> (TState state, Func<Microsoft.EntityFrameworkCore.DbContext,TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<TResult>> operation, Func<Microsoft.EntityFrameworkCore.DbContext,TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.ExecutionResult<TResult>>> verifySucceeded, System.Threading.CancellationToken cancellationToken = default);
public System.Threading.Tasks.Task<TResult> ExecuteAsync<TState,TResult> (TState state, Func<Microsoft.EntityFrameworkCore.DbContext,TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<TResult>> operation, Func<Microsoft.EntityFrameworkCore.DbContext,TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.ExecutionResult<TResult>>>? verifySucceeded, System.Threading.CancellationToken cancellationToken = default);
abstract member ExecuteAsync : 'State * Func<Microsoft.EntityFrameworkCore.DbContext, 'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * Func<Microsoft.EntityFrameworkCore.DbContext, 'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.ExecutionResult<'Result>>> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
Public Function ExecuteAsync(Of TState, TResult) (state As TState, operation As Func(Of DbContext, TState, CancellationToken, Task(Of TResult)), verifySucceeded As Func(Of DbContext, TState, CancellationToken, Task(Of ExecutionResult(Of TResult))), Optional cancellationToken As CancellationToken = Nothing) As Task(Of TResult)

Jenis parameter

TState

Jenis status.

TResult

Jenis hasil yang Task<TResult> dikembalikan oleh operation.

Parameter

state
TState

Status yang akan diteruskan ke operasi.

operation
Func<DbContext,TState,CancellationToken,Task<TResult>>

Fungsi yang mengembalikan tugas yang dimulai dari jenis TResult.

verifySucceeded
Func<DbContext,TState,CancellationToken,Task<ExecutionResult<TResult>>>

Delegasi yang menguji apakah operasi berhasil meskipun pengecualian dilemparkan.

cancellationToken
CancellationToken

Token pembatalan yang digunakan untuk membatalkan operasi coba lagi, tetapi bukan operasi yang sudah dalam penerbangan atau yang telah berhasil diselesaikan.

Mengembalikan

Task<TResult>

Tugas yang akan berjalan hingga selesai jika tugas asli berhasil diselesaikan (baik pertama kali atau setelah mencoba kembali kegagalan sementara). Jika tugas gagal dengan kesalahan non-sementara atau batas coba lagi tercapai, tugas yang dikembalikan akan menjadi rusak dan pengecualian harus diamati.

Pengecualian

Operasi belum berhasil setelah jumlah percobaan ulang yang dikonfigurasi.

Keterangan

Lihat Ketahanan koneksi dan percobaan ulang database untuk informasi dan contoh selengkapnya.

Berlaku untuk