ExecutionStrategy Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Die Basisklasse für IExecutionStrategy Implementierungen.
public abstract class ExecutionStrategy : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy
[System.Runtime.CompilerServices.Nullable(0)]
public abstract class ExecutionStrategy : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy
type ExecutionStrategy = class
interface IExecutionStrategy
[<System.Runtime.CompilerServices.Nullable(0)>]
type ExecutionStrategy = class
interface IExecutionStrategy
Public MustInherit Class ExecutionStrategy
Implements IExecutionStrategy
- Vererbung
-
ExecutionStrategy
- Abgeleitet
- Attribute
- Implementiert
Hinweise
Die Dienstlebensdauer lautet Scoped. Dies bedeutet, dass jede DbContext Instanz eine eigene Instanz dieses Diensts verwendet. Die Implementierung kann von anderen Diensten abhängen, die mit jeder Lebensdauer registriert sind. Die Implementierung muss nicht threadsicher sein.
Weitere Informationen und Beispiele finden Sie unter Verbindungsresilienz und Datenbank-Wiederholungen .
Konstruktoren
| Name | Beschreibung |
|---|---|
| ExecutionStrategy(DbContext, Int32, TimeSpan) |
Erstellt eine neue Instanz von ExecutionStrategy. |
| ExecutionStrategy(ExecutionStrategyContext, Int32, TimeSpan) |
Erstellt eine neue Instanz von ExecutionStrategy. |
| ExecutionStrategy(ExecutionStrategyDependencies, Int32, TimeSpan) |
Erstellt eine neue Instanz von ExecutionStrategy. |
Felder
| Name | Beschreibung |
|---|---|
| DefaultMaxDelay |
Die maximale Standardzeitverzögerung zwischen Wiederholungen muss nicht verwendet werden. |
| DefaultMaxRetryCount |
Die Standardanzahl der Wiederholungsversuche. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Context |
Der Kontext, in dem die Vorgänge aufgerufen werden. |
| Current |
Ruft die derzeit ausgeführte Strategie ab oder legt sie fest. Alle geschachtelten Aufrufe werden von der äußersten Strategie verarbeitet. |
| Dependencies |
Abhängigkeiten für diesen Dienst. |
| ExceptionsEncountered |
Die Liste der Ausnahmen, die dazu geführt haben, dass der Vorgang bisher erneut versucht wurde. |
| Logger |
Der Logger dafür ExecutionStrategy. |
| MaxRetryCount |
Die maximale Anzahl von Wiederholungsversuchen. |
| MaxRetryDelay |
Die maximale Verzögerung zwischen Wiederholungen. |
| Random |
Ein Pseudo-Zufallszahlengenerator, der verwendet werden kann, um die Verzögerung zwischen Wiederholungen zu variieren. |
| RetriesOnFailure |
Gibt an, ob dies IExecutionStrategy nach einem Fehler die Ausführung wiederholen kann. |
| Suspended |
Veraltet.
Gibt an, ob die Strategie angehalten wird. Die Strategie wird in der Regel angehalten, während sie ausgeführt wird, um rekursive Ausführung von geschachtelten Vorgängen zu vermeiden. |
Methoden
| Name | Beschreibung |
|---|---|
| CallOnWrappedException<TResult>(Exception, Func<Exception,TResult>) |
Rekursiv ruft InnerException ab |
| Execute<TState,TResult>(Func<TState,TResult>, Func<TState,ExecutionResult<TResult>>, TState) |
Führt den angegebenen Vorgang aus und gibt das Ergebnis zurück. |
| Execute<TState,TResult>(TState, Func<DbContext,TState,TResult>, Func<DbContext,TState,ExecutionResult<TResult>>) |
Führt den angegebenen Vorgang aus und gibt das Ergebnis zurück. |
| ExecuteAsync<TState,TResult>(Func<TState,CancellationToken,Task<TResult>>, Func<TState,CancellationToken,Task<ExecutionResult<TResult>>>, TState, CancellationToken) |
Führt den angegebenen asynchronen Vorgang aus und gibt das Ergebnis zurück. |
| ExecuteAsync<TState,TResult>(TState, Func<DbContext,TState,CancellationToken, Task<TResult>>, Func<DbContext,TState,CancellationToken,Task<ExecutionResult<TResult>>>, CancellationToken) |
Führt den angegebenen asynchronen Vorgang aus und gibt das Ergebnis zurück. |
| ExecuteInTransaction<TState,TResult>(Func<TState,TResult>, Func<TState,Boolean>, TState) |
Führt den angegebenen Vorgang in einer Transaktion aus und gibt das Ergebnis nach dem Commit zurück. |
| ExecuteInTransactionAsync<TState,TResult>(Func<TState,CancellationToken, Task<TResult>>, Func<TState,CancellationToken,Task<Boolean>>, TState, CancellationToken) |
Führt den angegebenen asynchronen Vorgang aus und gibt das Ergebnis zurück. |
| GetNextDelay(Exception) |
Bestimmt, ob der Vorgang erneut versucht werden soll, und die Verzögerung vor dem nächsten Versuch. |
| OnFirstExecution() |
Methode, die vor der ersten Ausführung des Vorgangs aufgerufen wird |
| OnRetry() |
Methode aufgerufen, bevor sie die Ausführung des Vorgangs wiederholen |
| ShouldRetryOn(Exception) |
Bestimmt, ob die angegebene Ausnahme einen vorübergehenden Fehler darstellt, der durch einen Wiederholungsversuche kompensiert werden kann. |
| ShouldVerifySuccessOn(Exception) |
Bestimmt, ob die angegebene Ausnahme nach einer erfolgreichen Ausführung ausgelöst werden kann. |
Erweiterungsmethoden
| Name | Beschreibung |
|---|---|
| Execute(IExecutionStrategy, Action) |
Führt den angegebenen Vorgang aus. |
| Execute<TResult>(IExecutionStrategy, Func<TResult>) |
Führt den angegebenen Vorgang aus und gibt das Ergebnis zurück. |
| Execute<TState,TResult>(IExecutionStrategy, Func<TState,TResult>, Func<TState,ExecutionResult<TResult>>, TState) |
Veraltet.
Führt den angegebenen Vorgang aus und gibt das Ergebnis zurück. |
| Execute<TState,TResult>(IExecutionStrategy, Func<TState,TResult>, TState) |
Führt den angegebenen Vorgang aus und gibt das Ergebnis zurück. |
| Execute<TState,TResult>(IExecutionStrategy, TState, Func<TState,TResult>, Func<TState,ExecutionResult<TResult>>) |
Führt den angegebenen Vorgang aus und gibt das Ergebnis zurück. |
| Execute<TState,TResult>(IExecutionStrategy, TState, Func<TState,TResult>) |
Führt den angegebenen Vorgang aus und gibt das Ergebnis zurück. |
| Execute<TState>(IExecutionStrategy, Action<TState>, TState) |
Führt den angegebenen Vorgang aus. |
| Execute<TState>(IExecutionStrategy, TState, Action<TState>) |
Führt den angegebenen Vorgang aus. |
| ExecuteAsync(IExecutionStrategy, Func<CancellationToken,Task>, CancellationToken) |
Führt den angegebenen asynchronen Vorgang aus. |
| ExecuteAsync(IExecutionStrategy, Func<Task>) |
Führt den angegebenen asynchronen Vorgang aus. |
| ExecuteAsync<TResult>(IExecutionStrategy, Func<CancellationToken,Task<TResult>>, CancellationToken) |
Führt den angegebenen asynchronen Vorgang aus und gibt das Ergebnis zurück. |
| ExecuteAsync<TResult>(IExecutionStrategy, Func<Task<TResult>>) |
Führt den angegebenen asynchronen Vorgang aus und gibt das Ergebnis zurück. |
| ExecuteAsync<TState,TResult>(IExecutionStrategy, Func<TState,CancellationToken,Task<TResult>>, TState, CancellationToken) |
Führt den angegebenen asynchronen Vorgang aus und gibt das Ergebnis zurück. |
| ExecuteAsync<TState,TResult>(IExecutionStrategy, Func<TState,Task<TResult>>, TState) |
Führt den angegebenen asynchronen Vorgang aus und gibt das Ergebnis zurück. |
| ExecuteAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task<TResult>>, CancellationToken) |
Führt den angegebenen asynchronen Vorgang aus und gibt das Ergebnis zurück. |
| ExecuteAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState, CancellationToken,Task<TResult>>, Func<TState,CancellationToken, Task<ExecutionResult<TResult>>>, CancellationToken) |
Führt den angegebenen asynchronen Vorgang aus und gibt das Ergebnis zurück. |
| ExecuteAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState,Task<TResult>>) |
Führt den angegebenen asynchronen Vorgang aus und gibt das Ergebnis zurück. |
| ExecuteAsync<TState>(IExecutionStrategy, Func<TState,CancellationToken,Task>, TState, CancellationToken) |
Führt den angegebenen asynchronen Vorgang aus. |
| ExecuteAsync<TState>(IExecutionStrategy, Func<TState,Task>, TState) |
Führt den angegebenen asynchronen Vorgang aus. |
| ExecuteAsync<TState>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task>, CancellationToken) |
Führt den angegebenen asynchronen Vorgang aus. |
| ExecuteAsync<TState>(IExecutionStrategy, TState, Func<TState,Task>) |
Führt den angegebenen asynchronen Vorgang aus. |
| ExecuteInTransaction(IExecutionStrategy, Action, Func<Boolean>, IsolationLevel) |
Führt den angegebenen Vorgang in einer Transaktion aus. Ermöglicht das Überprüfen, ob die Transaktion zurückgesetzt wurde, wenn während des Commits ein Fehler auftritt. |
| ExecuteInTransaction(IExecutionStrategy, Action, Func<Boolean>) |
Führt den angegebenen Vorgang in einer Transaktion aus. Ermöglicht das Überprüfen, ob die Transaktion zurückgesetzt wurde, wenn während des Commits ein Fehler auftritt. |
| ExecuteInTransaction<TResult>(IExecutionStrategy, Func<TResult>, Func<Boolean>, IsolationLevel) |
Führt den angegebenen Vorgang in einer Transaktion aus und gibt das Ergebnis zurück. Ermöglicht das Überprüfen, ob die Transaktion zurückgesetzt wurde, wenn während des Commits ein Fehler auftritt. |
| ExecuteInTransaction<TResult>(IExecutionStrategy, Func<TResult>, Func<Boolean>) |
Führt den angegebenen Vorgang in einer Transaktion aus und gibt das Ergebnis zurück. Ermöglicht das Überprüfen, ob die Transaktion zurückgesetzt wurde, wenn während des Commits ein Fehler auftritt. |
| ExecuteInTransaction<TState,TResult>(IExecutionStrategy, Func<TState,TResult>, Func<TState,Boolean>, TState, DbContext) |
Führt den angegebenen Vorgang in einer Transaktion aus und gibt das Ergebnis nach dem Commit zurück. |
| ExecuteInTransaction<TState,TResult>(IExecutionStrategy, TState, Func<TState,TResult>, Func<TState,Boolean>, IsolationLevel) |
Führt den angegebenen Vorgang in einer Transaktion aus und gibt das Ergebnis zurück. Ermöglicht das Überprüfen, ob die Transaktion zurückgesetzt wurde, wenn während des Commits ein Fehler auftritt. |
| ExecuteInTransaction<TState,TResult>(IExecutionStrategy, TState, Func<TState,TResult>, Func<TState,Boolean>) |
Führt den angegebenen Vorgang in einer Transaktion aus und gibt das Ergebnis zurück. Ermöglicht das Überprüfen, ob die Transaktion zurückgesetzt wurde, wenn während des Commits ein Fehler auftritt. |
| ExecuteInTransaction<TState>(IExecutionStrategy, TState, Action<TState>, Func<TState,Boolean>, IsolationLevel) |
Führt den angegebenen Vorgang in einer Transaktion aus. Ermöglicht das Überprüfen, ob die Transaktion zurückgesetzt wurde, wenn während des Commits ein Fehler auftritt. |
| ExecuteInTransaction<TState>(IExecutionStrategy, TState, Action<TState>, Func<TState,Boolean>) |
Führt den angegebenen Vorgang in einer Transaktion aus. Ermöglicht das Überprüfen, ob die Transaktion zurückgesetzt wurde, wenn während des Commits ein Fehler auftritt. |
| ExecuteInTransactionAsync(IExecutionStrategy, Func<CancellationToken,Task>, Func<CancellationToken,Task<Boolean>>, CancellationToken) |
Führt den angegebenen asynchronen Vorgang in einer Transaktion aus. Ermöglicht das Überprüfen, ob die Transaktion zurückgesetzt wurde, wenn während des Commits ein Fehler auftritt. |
| ExecuteInTransactionAsync(IExecutionStrategy, Func<CancellationToken,Task>, Func<CancellationToken,Task<Boolean>>, IsolationLevel, CancellationToken) |
Führt den angegebenen asynchronen Vorgang in einer Transaktion aus. Ermöglicht das Überprüfen, ob die Transaktion zurückgesetzt wurde, wenn während des Commits ein Fehler auftritt. |
| ExecuteInTransactionAsync(IExecutionStrategy, Func<Task>, Func<Task<Boolean>>, IsolationLevel) |
Führt den angegebenen asynchronen Vorgang in einer Transaktion aus. Ermöglicht das Überprüfen, ob die Transaktion zurückgesetzt wurde, wenn während des Commits ein Fehler auftritt. |
| ExecuteInTransactionAsync(IExecutionStrategy, Func<Task>, Func<Task<Boolean>>) |
Führt den angegebenen asynchronen Vorgang in einer Transaktion aus. Ermöglicht das Überprüfen, ob die Transaktion zurückgesetzt wurde, wenn während des Commits ein Fehler auftritt. |
| ExecuteInTransactionAsync<TResult>(IExecutionStrategy, Func<CancellationToken, Task<TResult>>, Func<CancellationToken,Task<Boolean>>, CancellationToken) |
Führt den angegebenen asynchronen Vorgang in einer Transaktion aus und gibt das Ergebnis zurück. Ermöglicht das Überprüfen, ob die Transaktion zurückgesetzt wurde, wenn während des Commits ein Fehler auftritt. |
| ExecuteInTransactionAsync<TResult>(IExecutionStrategy, Func<CancellationToken, Task<TResult>>, Func<CancellationToken,Task<Boolean>>, IsolationLevel, CancellationToken) |
Führt den angegebenen asynchronen Vorgang in einer Transaktion aus und gibt das Ergebnis zurück. Ermöglicht das Überprüfen, ob die Transaktion zurückgesetzt wurde, wenn während des Commits ein Fehler auftritt. |
| ExecuteInTransactionAsync<TState,TResult>(IExecutionStrategy, Func<TState,CancellationToken,Task<TResult>>, Func<TState,CancellationToken, Task<Boolean>>, TState, DbContext, CancellationToken) |
Führt den angegebenen asynchronen Vorgang aus und gibt das Ergebnis zurück. |
| ExecuteInTransactionAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task<TResult>>, Func<TState, CancellationToken,Task<Boolean>>, CancellationToken) |
Führt den angegebenen asynchronen Vorgang in einer Transaktion aus und gibt das Ergebnis zurück. Ermöglicht das Überprüfen, ob die Transaktion zurückgesetzt wurde, wenn während des Commits ein Fehler auftritt. |
| ExecuteInTransactionAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task<TResult>>, Func<TState, CancellationToken,Task<Boolean>>, IsolationLevel, CancellationToken) |
Führt den angegebenen asynchronen Vorgang aus und gibt das Ergebnis zurück. Ermöglicht das Überprüfen, ob die Transaktion zurückgesetzt wurde, wenn während des Commits ein Fehler auftritt. |
| ExecuteInTransactionAsync<TState>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task>, Func<TState,CancellationToken, Task<Boolean>>, CancellationToken) |
Führt den angegebenen asynchronen Vorgang in einer Transaktion aus. Ermöglicht das Überprüfen, ob die Transaktion zurückgesetzt wurde, wenn während des Commits ein Fehler auftritt. |
| ExecuteInTransactionAsync<TState>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task>, Func<TState,CancellationToken, Task<Boolean>>, IsolationLevel, CancellationToken) |
Führt den angegebenen asynchronen Vorgang in einer Transaktion aus. Ermöglicht das Überprüfen, ob die Transaktion zurückgesetzt wurde, wenn während des Commits ein Fehler auftritt. |