Bagikan melalui


ExecutionStrategy Kelas

Definisi

Kelas dasar untuk IExecutionStrategy implementasi.

public abstract class ExecutionStrategy : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy
type ExecutionStrategy = class
    interface IExecutionStrategy
Public MustInherit Class ExecutionStrategy
Implements IExecutionStrategy
Warisan
ExecutionStrategy
Turunan
Penerapan

Keterangan

Masa pakai layanan adalah Scoped. Ini berarti bahwa setiap DbContext instans akan menggunakan instans layanan ini sendiri. Implementasinya dapat bergantung pada layanan lain yang terdaftar dengan masa pakai apa pun. Implementasinya tidak perlu aman untuk utas.

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

Konstruktor

ExecutionStrategy(DbContext, Int32, TimeSpan)

Membuat instans baru .ExecutionStrategy

ExecutionStrategy(ExecutionStrategyContext, Int32, TimeSpan)

Membuat instans baru .ExecutionStrategy

ExecutionStrategy(ExecutionStrategyDependencies, Int32, TimeSpan)

Membuat instans baru .ExecutionStrategy

Bidang

DefaultMaxDelay

Penundaan waktu maksimum default antara percobaan ulang, harus nonnegatif.

DefaultMaxRetryCount

Jumlah default upaya coba lagi.

Properti

Context

Konteks di mana operasi akan dipanggil.

Current

Mendapatkan atau mengatur strategi yang saat ini dijalankan. Semua panggilan berlapis akan ditangani oleh strategi terluar.

Dependencies

Dependensi untuk layanan ini.

ExceptionsEncountered

Daftar pengecualian yang menyebabkan operasi dicoba kembali sejauh ini.

Logger

Pencatat untuk ini ExecutionStrategy.

MaxRetryCount

Jumlah maksimum upaya coba lagi.

MaxRetryDelay

Penundaan maksimum antara percobaan kembali.

Random

Generator angka pseudo-random yang dapat digunakan untuk memvariasikan penundaan antara percobaan ulang.

RetriesOnFailure

Menunjukkan apakah ini IExecutionStrategy mungkin mencoba kembali eksekusi setelah kegagalan.

Suspended
Kedaluwarsa.

Menunjukkan apakah strategi ditangguhkan. Strategi ini biasanya ditangguhkan saat menjalankan untuk menghindari eksekusi rekursif dari operasi berlapis.

Metode

CallOnWrappedException<TResult>(Exception, Func<Exception,TResult>)

Secara rekursif mendapatkan InnerException selama exception merupakan pengecualian yang dibuat oleh Kerangka Kerja Entitas dan panggilan exceptionHandler pada yang paling dalam.

Execute<TState,TResult>(Func<TState,TResult>, Func<TState,ExecutionResult<TResult>>, TState)

Menjalankan operasi yang ditentukan dan mengembalikan hasilnya.

Execute<TState,TResult>(TState, Func<DbContext,TState,TResult>, Func<DbContext,TState,ExecutionResult<TResult>>)

Menjalankan operasi 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.

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.

ExecuteInTransaction<TState,TResult>(Func<TState,TResult>, Func<TState,Boolean>, TState)

Menjalankan operasi yang ditentukan dalam transaksi dan mengembalikan hasilnya setelah menerapkannya.

ExecuteInTransactionAsync<TState,TResult>(Func<TState,CancellationToken, Task<TResult>>, Func<TState,CancellationToken,Task<Boolean>>, TState, CancellationToken)

Menjalankan operasi asinkron yang ditentukan dan mengembalikan hasilnya.

GetNextDelay(Exception)

Menentukan apakah operasi harus dicoba ulang dan penundaan sebelum upaya berikutnya.

OnFirstExecution()

Metode yang dipanggil sebelum eksekusi operasi pertama

OnRetry()

Metode yang dipanggil sebelum mencoba kembali eksekusi operasi

ShouldRetryOn(Exception)

Menentukan apakah pengecualian yang ditentukan mewakili kegagalan sementara yang dapat dikompensasi dengan coba lagi.

ShouldVerifySuccessOn(Exception)

Menentukan apakah pengecualian yang ditentukan dapat dilemparkan setelah eksekusi berhasil.

Metode Ekstensi

Execute(IExecutionStrategy, Action)

Menjalankan operasi yang ditentukan.

Execute<TState>(IExecutionStrategy, TState, Action<TState>)

Menjalankan operasi yang ditentukan.

Execute<TState>(IExecutionStrategy, Action<TState>, TState)

Menjalankan operasi yang ditentukan.

Execute<TResult>(IExecutionStrategy, Func<TResult>)

Menjalankan operasi yang ditentukan dan mengembalikan hasilnya.

Execute<TState,TResult>(IExecutionStrategy, TState, Func<TState,TResult>)

Menjalankan operasi yang ditentukan dan mengembalikan hasilnya.

Execute<TState,TResult>(IExecutionStrategy, TState, Func<TState,TResult>, Func<TState,ExecutionResult<TResult>>)

Menjalankan operasi yang ditentukan dan mengembalikan hasilnya.

Execute<TState,TResult>(IExecutionStrategy, Func<TState,TResult>, TState)

Menjalankan operasi yang ditentukan dan mengembalikan hasilnya.

Execute<TState,TResult>(IExecutionStrategy, Func<TState,TResult>, Func<TState,ExecutionResult<TResult>>, TState)
Kedaluwarsa.

Menjalankan operasi yang ditentukan dan mengembalikan hasilnya.

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

Menjalankan operasi asinkron yang ditentukan.

ExecuteAsync(IExecutionStrategy, Func<Task>)

Menjalankan operasi asinkron yang ditentukan.

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

Menjalankan operasi asinkron yang ditentukan.

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

Menjalankan operasi asinkron yang ditentukan.

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

Menjalankan operasi asinkron yang ditentukan.

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

Menjalankan operasi asinkron yang ditentukan.

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

Menjalankan operasi asinkron yang ditentukan dan mengembalikan hasilnya.

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

Menjalankan operasi asinkron yang ditentukan dan mengembalikan hasilnya.

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

Menjalankan operasi asinkron yang ditentukan dan mengembalikan hasilnya.

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

Menjalankan operasi asinkron yang ditentukan dan mengembalikan hasilnya.

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

Menjalankan operasi asinkron yang ditentukan dan mengembalikan hasilnya.

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

Menjalankan operasi asinkron yang ditentukan dan mengembalikan hasilnya.

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

Menjalankan operasi asinkron yang ditentukan dan mengembalikan hasilnya.

ExecuteInTransaction(IExecutionStrategy, Action, Func<Boolean>)

Menjalankan operasi yang ditentukan dalam transaksi. Memungkinkan untuk memeriksa apakah transaksi telah digulung balik jika terjadi kesalahan selama penerapan.

ExecuteInTransaction<TState>(IExecutionStrategy, TState, Action<TState>, Func<TState,Boolean>)

Menjalankan operasi yang ditentukan dalam transaksi. Memungkinkan untuk memeriksa apakah transaksi telah digulung balik jika terjadi kesalahan selama penerapan.

ExecuteInTransaction<TResult>(IExecutionStrategy, Func<TResult>, Func<Boolean>)

Menjalankan operasi yang ditentukan dalam transaksi dan mengembalikan hasilnya. Memungkinkan untuk memeriksa apakah transaksi telah digulung balik jika terjadi kesalahan selama penerapan.

ExecuteInTransaction<TState,TResult>(IExecutionStrategy, TState, Func<TState,TResult>, Func<TState,Boolean>)

Menjalankan operasi yang ditentukan dalam transaksi dan mengembalikan hasilnya. Memungkinkan untuk memeriksa apakah transaksi telah digulung balik jika terjadi kesalahan selama penerapan.

ExecuteInTransaction<TState,TResult>(IExecutionStrategy, Func<TState,TResult>, Func<TState,Boolean>, TState, DbContext)

Menjalankan operasi yang ditentukan dalam transaksi dan mengembalikan hasilnya setelah menerapkannya.

ExecuteInTransactionAsync(IExecutionStrategy, Func<CancellationToken,Task>, Func<CancellationToken,Task<Boolean>>, CancellationToken)

Menjalankan operasi asinkron yang ditentukan dalam transaksi. Memungkinkan untuk memeriksa apakah transaksi telah digulung balik jika terjadi kesalahan selama penerapan.

ExecuteInTransactionAsync(IExecutionStrategy, Func<Task>, Func<Task<Boolean>>)

Menjalankan operasi asinkron yang ditentukan dalam transaksi. Memungkinkan untuk memeriksa apakah transaksi telah digulung balik jika terjadi kesalahan selama penerapan.

ExecuteInTransactionAsync<TState>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task>, Func<TState,CancellationToken, Task<Boolean>>, CancellationToken)

Menjalankan operasi asinkron yang ditentukan dalam transaksi. Memungkinkan untuk memeriksa apakah transaksi telah digulung balik jika terjadi kesalahan selama penerapan.

ExecuteInTransactionAsync<TResult>(IExecutionStrategy, Func<CancellationToken, Task<TResult>>, Func<CancellationToken,Task<Boolean>>, CancellationToken)

Menjalankan operasi asinkron yang ditentukan dalam transaksi dan mengembalikan hasilnya. Memungkinkan untuk memeriksa apakah transaksi telah digulung balik jika terjadi kesalahan selama penerapan.

ExecuteInTransactionAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task<TResult>>, Func<TState, CancellationToken,Task<Boolean>>, CancellationToken)

Menjalankan operasi asinkron yang ditentukan dalam transaksi dan mengembalikan hasilnya. Memungkinkan untuk memeriksa apakah transaksi telah digulung balik jika terjadi kesalahan selama penerapan.

ExecuteInTransactionAsync<TState,TResult>(IExecutionStrategy, Func<TState,CancellationToken,Task<TResult>>, Func<TState,CancellationToken, Task<Boolean>>, TState, DbContext, CancellationToken)

Menjalankan operasi asinkron yang ditentukan dan mengembalikan hasilnya.

ExecuteInTransaction(IExecutionStrategy, Action, Func<Boolean>, IsolationLevel)

Menjalankan operasi yang ditentukan dalam transaksi. Memungkinkan untuk memeriksa apakah transaksi telah digulung balik jika terjadi kesalahan selama penerapan.

ExecuteInTransaction<TState>(IExecutionStrategy, TState, Action<TState>, Func<TState,Boolean>, IsolationLevel)

Menjalankan operasi yang ditentukan dalam transaksi. Memungkinkan untuk memeriksa apakah transaksi telah digulung balik jika terjadi kesalahan selama penerapan.

ExecuteInTransaction<TResult>(IExecutionStrategy, Func<TResult>, Func<Boolean>, IsolationLevel)

Menjalankan operasi yang ditentukan dalam transaksi dan mengembalikan hasilnya. Memungkinkan untuk memeriksa apakah transaksi telah digulung balik jika terjadi kesalahan selama penerapan.

ExecuteInTransaction<TState,TResult>(IExecutionStrategy, TState, Func<TState,TResult>, Func<TState,Boolean>, IsolationLevel)

Menjalankan operasi yang ditentukan dalam transaksi dan mengembalikan hasilnya. Memungkinkan untuk memeriksa apakah transaksi telah digulung balik jika terjadi kesalahan selama penerapan.

ExecuteInTransactionAsync(IExecutionStrategy, Func<CancellationToken,Task>, Func<CancellationToken,Task<Boolean>>, IsolationLevel, CancellationToken)

Menjalankan operasi asinkron yang ditentukan dalam transaksi. Memungkinkan untuk memeriksa apakah transaksi telah digulung balik jika terjadi kesalahan selama penerapan.

ExecuteInTransactionAsync(IExecutionStrategy, Func<Task>, Func<Task<Boolean>>, IsolationLevel)

Menjalankan operasi asinkron yang ditentukan dalam transaksi. Memungkinkan untuk memeriksa apakah transaksi telah digulung balik jika terjadi kesalahan selama penerapan.

ExecuteInTransactionAsync<TState>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task>, Func<TState,CancellationToken, Task<Boolean>>, IsolationLevel, CancellationToken)

Menjalankan operasi asinkron yang ditentukan dalam transaksi. Memungkinkan untuk memeriksa apakah transaksi telah digulung balik jika terjadi kesalahan selama penerapan.

ExecuteInTransactionAsync<TResult>(IExecutionStrategy, Func<CancellationToken, Task<TResult>>, Func<CancellationToken,Task<Boolean>>, IsolationLevel, CancellationToken)

Menjalankan operasi asinkron yang ditentukan dalam transaksi dan mengembalikan hasilnya. Memungkinkan untuk memeriksa apakah transaksi telah digulung balik jika terjadi kesalahan selama penerapan.

ExecuteInTransactionAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task<TResult>>, Func<TState, CancellationToken,Task<Boolean>>, IsolationLevel, CancellationToken)

Menjalankan operasi asinkron yang ditentukan dan mengembalikan hasilnya. Memungkinkan untuk memeriksa apakah transaksi telah digulung balik jika terjadi kesalahan selama penerapan.

Berlaku untuk