Freigeben über


GrainBaseExtensions.RegisterGrainTimer Methode

Definition

Überlädt

RegisterGrainTimer(IGrainBase, Func<CancellationToken,Task>, GrainTimerCreationOptions)

Erstellt einen Korntimer.

RegisterGrainTimer(IGrainBase, Func<Task>, GrainTimerCreationOptions)
RegisterGrainTimer(IGrainBase, Func<CancellationToken,Task>, TimeSpan, TimeSpan)

Erstellt einen Korntimer.

RegisterGrainTimer(IGrainBase, Func<Task>, TimeSpan, TimeSpan)

Erstellt einen Korntimer.

RegisterGrainTimer<TState>(IGrainBase, Func<TState,CancellationToken,Task>, TState, GrainTimerCreationOptions)

Erstellt einen Korntimer.

RegisterGrainTimer<TState>(IGrainBase, Func<TState,Task>, TState, GrainTimerCreationOptions)
RegisterGrainTimer<TState>(IGrainBase, Func<TState,CancellationToken,Task>, TState, TimeSpan, TimeSpan)

Erstellt einen Korntimer.

RegisterGrainTimer<TState>(IGrainBase, Func<TState,Task>, TState, TimeSpan, TimeSpan)

Erstellt einen Korntimer.

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 truefestgelegt ist, kann der Timerrückruf mit anderen Kornmethodenaufrufen und anderen Timern zwischenspeichern. Wenn Interleave auf falsefestgelegt 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
callback
Func<Task>

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.

callback
Func<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.

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 truefestgelegt ist, kann der Timerrückruf mit anderen Kornmethodenaufrufen und anderen Timern zwischenspeichern. Wenn Interleave auf falsefestgelegt 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 truefestgelegt ist, kann der Timerrückruf mit anderen Kornmethodenaufrufen und anderen Timern zwischenspeichern. Wenn Interleave auf falsefestgelegt 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
callback
Func<TState,Task>
state
TState

Der Zustand, der an den Rückruf übergeben wurde.

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.

callback
Func<TState,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: