GrainBaseExtensions.RegisterGrainTimer Methode
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.
Überlädt
RegisterGrainTimer(IGrainBase, Func<CancellationToken,Task>, GrainTimerCreationOptions)
Erstellt einen Korntimer.
public static Orleans.Runtime.IGrainTimer RegisterGrainTimer (this Orleans.IGrainBase grain, Func<System.Threading.CancellationToken,System.Threading.Tasks.Task> callback, Orleans.Runtime.GrainTimerCreationOptions options);
static member RegisterGrainTimer : Orleans.IGrainBase * Func<System.Threading.CancellationToken, System.Threading.Tasks.Task> * Orleans.Runtime.GrainTimerCreationOptions -> Orleans.Runtime.IGrainTimer
<Extension()>
Public Function RegisterGrainTimer (grain As IGrainBase, callback As Func(Of CancellationToken, Task), options As GrainTimerCreationOptions) As IGrainTimer
Parameter
- grain
- IGrainBase
Die Korninstanz.
- callback
- Func<CancellationToken,Task>
Der Timerrückruf, der immer dann aufgerufen wird, wenn der Timer fällig wird.
- options
- GrainTimerCreationOptions
Die Optionen zum Erstellen des Timers.
Gibt zurück
Die IGrainTimer Instanz, die den Timer darstellt.
Hinweise
Getreidetimer halten Getreide nicht standardmäßig aktiv. Das Festlegen KeepAlive auf true
bewirkt, dass jedes Zeitgeberstrich die Lebensdauer der Kornaktivierung verlängert. Wenn die Zeitgeber zecken selten sind, kann das Getreide aufgrund von Leerlauf noch deaktiviert werden. Wenn ein Getreide deaktiviert wird, werden alle aktiven Timer verworfen.
Bis die vom Rückruf zurückgegebene Task aufgelöst wird, wird der nächste Timerteil nicht geplant. Das heißt, ein Timerrückruf wird nie gleichzeitig mit sich selbst ausgeführt. Wenn Interleave auf true
festgelegt ist, kann der Timerrückruf mit anderen Kornmethodenaufrufen und anderen Timern zwischenspeichern. Wenn Interleave auf false
festgelegt ist, berücksichtigt der Timerrückruf die Reentranzeinstellung des Korns, genau wie ein typischer Getreidemethodenaufruf.
Der Timer kann jederzeit beendet werden, indem die Dispose()-Methode des IGrainTimeraufgerufen wird. Durch das Entfernen eines Timers wird verhindert, dass weitere Timer-Ticks geplant werden.
Der Fälligkeitszeitgeber und der Zeitraum können aktualisiert werden, indem die Change(TimeSpan, TimeSpan)-Methode aufgerufen wird. Jedes Mal, wenn der Timer aktualisiert wird, wird die nächste Timer-Teilstrich basierend auf der aktualisierten Fälligkeitszeit geplant. Nachfolgende Teilstriche werden nach Ablauf des aktualisierten Zeitraums geplant. Beachten Sie, dass dieses Verhalten mit der Change(TimeSpan, TimeSpan)-Methode identisch ist.
Ausnahmen, die vom Rückruf ausgelöst werden, werden protokolliert, verhindern jedoch nicht, dass der nächste Timerstrich in die Warteschlange eingereiht wird.
Gilt für:
RegisterGrainTimer(IGrainBase, Func<Task>, GrainTimerCreationOptions)
public static Orleans.Runtime.IGrainTimer RegisterGrainTimer (this Orleans.IGrainBase grain, Func<System.Threading.Tasks.Task> callback, Orleans.Runtime.GrainTimerCreationOptions options);
static member RegisterGrainTimer : Orleans.IGrainBase * Func<System.Threading.Tasks.Task> * Orleans.Runtime.GrainTimerCreationOptions -> Orleans.Runtime.IGrainTimer
<Extension()>
Public Function RegisterGrainTimer (grain As IGrainBase, callback As Func(Of Task), options As GrainTimerCreationOptions) As IGrainTimer
Parameter
- grain
- IGrainBase
- options
- GrainTimerCreationOptions
Gibt zurück
Gilt für:
RegisterGrainTimer(IGrainBase, Func<CancellationToken,Task>, TimeSpan, TimeSpan)
Erstellt einen Korntimer.
public static Orleans.Runtime.IGrainTimer RegisterGrainTimer (this Orleans.IGrainBase grain, Func<System.Threading.CancellationToken,System.Threading.Tasks.Task> callback, TimeSpan dueTime, TimeSpan period);
static member RegisterGrainTimer : Orleans.IGrainBase * Func<System.Threading.CancellationToken, System.Threading.Tasks.Task> * TimeSpan * TimeSpan -> Orleans.Runtime.IGrainTimer
<Extension()>
Public Function RegisterGrainTimer (grain As IGrainBase, callback As Func(Of CancellationToken, Task), dueTime As TimeSpan, period As TimeSpan) As IGrainTimer
Parameter
- grain
- IGrainBase
Die Korninstanz.
- callback
- Func<CancellationToken,Task>
Der Timerrückruf, der immer dann aufgerufen wird, wenn der Timer fällig wird.
- dueTime
- TimeSpan
Ein TimeSpan, der die Verzögerungszeit darstellt, bevor die rückrufmethode aufgerufen wird, die beim Erstellen des IGrainTimer angegeben wurde. Geben Sie InfiniteTimeSpan an, um zu verhindern, dass der Timer gestartet wird. Geben Sie Zero an, um den Timer sofort zu starten.
- period
- TimeSpan
Das Zeitintervall zwischen Aufrufen der Rückrufmethode, die beim Erstellen des IGrainTimer angegeben wurde. Geben Sie InfiniteTimeSpan an, um die regelmäßige Signalisierung zu deaktivieren.
Gibt zurück
Die IGrainTimer Instanz, die den Timer darstellt.
Gilt für:
RegisterGrainTimer(IGrainBase, Func<Task>, TimeSpan, TimeSpan)
Erstellt einen Korntimer.
public static Orleans.Runtime.IGrainTimer RegisterGrainTimer (this Orleans.IGrainBase grain, Func<System.Threading.Tasks.Task> callback, TimeSpan dueTime, TimeSpan period);
static member RegisterGrainTimer : Orleans.IGrainBase * Func<System.Threading.Tasks.Task> * TimeSpan * TimeSpan -> Orleans.Runtime.IGrainTimer
<Extension()>
Public Function RegisterGrainTimer (grain As IGrainBase, callback As Func(Of Task), dueTime As TimeSpan, period As TimeSpan) As IGrainTimer
Parameter
- grain
- IGrainBase
Die Korninstanz.
- dueTime
- TimeSpan
Ein TimeSpan, der die Verzögerungszeit darstellt, bevor die rückrufmethode aufgerufen wird, die beim Erstellen des IGrainTimer angegeben wurde. Geben Sie InfiniteTimeSpan an, um zu verhindern, dass der Timer gestartet wird. Geben Sie Zero an, um den Timer sofort zu starten.
- period
- TimeSpan
Das Zeitintervall zwischen Aufrufen der Rückrufmethode, die beim Erstellen des IGrainTimer angegeben wurde. Geben Sie InfiniteTimeSpan an, um die regelmäßige Signalisierung zu deaktivieren.
Gibt zurück
Die IGrainTimer Instanz, die den Timer darstellt.
Hinweise
Getreidetimer halten Getreide nicht standardmäßig aktiv. Das Festlegen KeepAlive auf true
bewirkt, dass jedes Zeitgeberstrich die Lebensdauer der Kornaktivierung verlängert. Wenn die Zeitgeber zecken selten sind, kann das Getreide aufgrund von Leerlauf noch deaktiviert werden. Wenn ein Getreide deaktiviert wird, werden alle aktiven Timer verworfen.
Bis die vom Rückruf zurückgegebene Task aufgelöst wird, wird der nächste Timerteil nicht geplant. Das heißt, ein Timerrückruf wird nie gleichzeitig mit sich selbst ausgeführt. Wenn Interleave auf true
festgelegt ist, kann der Timerrückruf mit anderen Kornmethodenaufrufen und anderen Timern zwischenspeichern. Wenn Interleave auf false
festgelegt ist, berücksichtigt der Timerrückruf die Reentranzeinstellung des Korns, genau wie ein typischer Getreidemethodenaufruf.
Der Timer kann jederzeit beendet werden, indem die Dispose()-Methode des IGrainTimeraufgerufen wird. Durch das Entfernen eines Timers wird verhindert, dass weitere Timer-Ticks geplant werden.
Der Fälligkeitszeitgeber und der Zeitraum können aktualisiert werden, indem die Change(TimeSpan, TimeSpan)-Methode aufgerufen wird. Jedes Mal, wenn der Timer aktualisiert wird, wird die nächste Timer-Teilstrich basierend auf der aktualisierten Fälligkeitszeit geplant. Nachfolgende Teilstriche werden nach Ablauf des aktualisierten Zeitraums geplant. Beachten Sie, dass dieses Verhalten mit der Change(TimeSpan, TimeSpan)-Methode identisch ist.
Ausnahmen, die vom Rückruf ausgelöst werden, werden protokolliert, verhindern jedoch nicht, dass der nächste Timerstrich in die Warteschlange eingereiht wird.
Gilt für:
RegisterGrainTimer<TState>(IGrainBase, Func<TState,CancellationToken,Task>, TState, GrainTimerCreationOptions)
Erstellt einen Korntimer.
public static Orleans.Runtime.IGrainTimer RegisterGrainTimer<TState> (this Orleans.IGrainBase grain, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task> callback, TState state, Orleans.Runtime.GrainTimerCreationOptions options);
static member RegisterGrainTimer : Orleans.IGrainBase * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task> * 'State * Orleans.Runtime.GrainTimerCreationOptions -> Orleans.Runtime.IGrainTimer
<Extension()>
Public Function RegisterGrainTimer(Of TState) (grain As IGrainBase, callback As Func(Of TState, CancellationToken, Task), state As TState, options As GrainTimerCreationOptions) As IGrainTimer
Typparameter
- TState
Der Typ des state
-Parameters.
Parameter
- grain
- IGrainBase
- callback
- Func<TState,CancellationToken,Task>
Der Timerrückruf, der immer dann aufgerufen wird, wenn der Timer fällig wird.
- state
- TState
Der Zustand, der an den Rückruf übergeben wurde.
- options
- GrainTimerCreationOptions
Die Optionen zum Erstellen des Timers.
Gibt zurück
Die IGrainTimer Instanz, die den Timer darstellt.
Hinweise
Getreidetimer halten Getreide nicht standardmäßig aktiv. Das Festlegen KeepAlive auf true
bewirkt, dass jedes Zeitgeberstrich die Lebensdauer der Kornaktivierung verlängert. Wenn die Zeitgeber zecken selten sind, kann das Getreide aufgrund von Leerlauf noch deaktiviert werden. Wenn ein Getreide deaktiviert wird, werden alle aktiven Timer verworfen.
Bis die vom Rückruf zurückgegebene Task aufgelöst wird, wird der nächste Timerteil nicht geplant. Das heißt, ein Timerrückruf wird nie gleichzeitig mit sich selbst ausgeführt. Wenn Interleave auf true
festgelegt ist, kann der Timerrückruf mit anderen Kornmethodenaufrufen und anderen Timern zwischenspeichern. Wenn Interleave auf false
festgelegt ist, berücksichtigt der Timerrückruf die Reentranzeinstellung des Korns, genau wie ein typischer Getreidemethodenaufruf.
Der Timer kann jederzeit beendet werden, indem die Dispose()-Methode des IGrainTimeraufgerufen wird. Durch das Entfernen eines Timers wird verhindert, dass weitere Timer-Ticks geplant werden.
Der Fälligkeitszeitgeber und der Zeitraum können aktualisiert werden, indem die Change(TimeSpan, TimeSpan)-Methode aufgerufen wird. Jedes Mal, wenn der Timer aktualisiert wird, wird die nächste Timer-Teilstrich basierend auf der aktualisierten Fälligkeitszeit geplant. Nachfolgende Teilstriche werden nach Ablauf des aktualisierten Zeitraums geplant. Beachten Sie, dass dieses Verhalten mit der Change(TimeSpan, TimeSpan)-Methode identisch ist.
Ausnahmen, die vom Rückruf ausgelöst werden, werden protokolliert, verhindern jedoch nicht, dass der nächste Timerstrich in die Warteschlange eingereiht wird.
Gilt für:
RegisterGrainTimer<TState>(IGrainBase, Func<TState,Task>, TState, GrainTimerCreationOptions)
public static Orleans.Runtime.IGrainTimer RegisterGrainTimer<TState> (this Orleans.IGrainBase grain, Func<TState,System.Threading.Tasks.Task> callback, TState state, Orleans.Runtime.GrainTimerCreationOptions options);
static member RegisterGrainTimer : Orleans.IGrainBase * Func<'State, System.Threading.Tasks.Task> * 'State * Orleans.Runtime.GrainTimerCreationOptions -> Orleans.Runtime.IGrainTimer
<Extension()>
Public Function RegisterGrainTimer(Of TState) (grain As IGrainBase, callback As Func(Of TState, Task), state As TState, options As GrainTimerCreationOptions) As IGrainTimer
Typparameter
- TState
Der Typ des state
-Parameters.
Parameter
- grain
- IGrainBase
- state
- TState
Der Zustand, der an den Rückruf übergeben wurde.
- options
- GrainTimerCreationOptions
Gibt zurück
Gilt für:
RegisterGrainTimer<TState>(IGrainBase, Func<TState,CancellationToken,Task>, TState, TimeSpan, TimeSpan)
Erstellt einen Korntimer.
public static Orleans.Runtime.IGrainTimer RegisterGrainTimer<TState> (this Orleans.IGrainBase grain, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task> callback, TState state, TimeSpan dueTime, TimeSpan period);
static member RegisterGrainTimer : Orleans.IGrainBase * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task> * 'State * TimeSpan * TimeSpan -> Orleans.Runtime.IGrainTimer
<Extension()>
Public Function RegisterGrainTimer(Of TState) (grain As IGrainBase, callback As Func(Of TState, CancellationToken, Task), state As TState, dueTime As TimeSpan, period As TimeSpan) As IGrainTimer
Typparameter
- TState
Der Typ des state
-Parameters.
Parameter
- grain
- IGrainBase
Die Korninstanz.
- callback
- Func<TState,CancellationToken,Task>
Der Timerrückruf, der immer dann aufgerufen wird, wenn der Timer fällig wird.
- state
- TState
Der Zustand, der an den Rückruf übergeben wurde.
- dueTime
- TimeSpan
Ein TimeSpan, der die Verzögerungszeit darstellt, bevor die rückrufmethode aufgerufen wird, die beim Erstellen des IGrainTimer angegeben wurde. Geben Sie InfiniteTimeSpan an, um zu verhindern, dass der Timer gestartet wird. Geben Sie Zero an, um den Timer sofort zu starten.
- period
- TimeSpan
Das Zeitintervall zwischen Aufrufen der Rückrufmethode, die beim Erstellen des IGrainTimer angegeben wurde. Geben Sie InfiniteTimeSpan an, um die regelmäßige Signalisierung zu deaktivieren.
Gibt zurück
Die IGrainTimer Instanz, die den Timer darstellt.
Gilt für:
RegisterGrainTimer<TState>(IGrainBase, Func<TState,Task>, TState, TimeSpan, TimeSpan)
Erstellt einen Korntimer.
public static Orleans.Runtime.IGrainTimer RegisterGrainTimer<TState> (this Orleans.IGrainBase grain, Func<TState,System.Threading.Tasks.Task> callback, TState state, TimeSpan dueTime, TimeSpan period);
static member RegisterGrainTimer : Orleans.IGrainBase * Func<'State, System.Threading.Tasks.Task> * 'State * TimeSpan * TimeSpan -> Orleans.Runtime.IGrainTimer
<Extension()>
Public Function RegisterGrainTimer(Of TState) (grain As IGrainBase, callback As Func(Of TState, Task), state As TState, dueTime As TimeSpan, period As TimeSpan) As IGrainTimer
Typparameter
- TState
Der Typ des state
-Parameters.
Parameter
- grain
- IGrainBase
Die Korninstanz.
Der Timerrückruf, der immer dann aufgerufen wird, wenn der Timer fällig wird.
- state
- TState
Der Zustand, der an den Rückruf übergeben wurde.
- dueTime
- TimeSpan
Ein TimeSpan, der die Verzögerungszeit darstellt, bevor die rückrufmethode aufgerufen wird, die beim Erstellen des IGrainTimer angegeben wurde. Geben Sie InfiniteTimeSpan an, um zu verhindern, dass der Timer gestartet wird. Geben Sie Zero an, um den Timer sofort zu starten.
- period
- TimeSpan
Das Zeitintervall zwischen Aufrufen der Rückrufmethode, die beim Erstellen des IGrainTimer angegeben wurde. Geben Sie InfiniteTimeSpan an, um die regelmäßige Signalisierung zu deaktivieren.
Gibt zurück
Die IGrainTimer Instanz, die den Timer darstellt.