GrainBaseExtensions.RegisterGrainTimer Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
RegisterGrainTimer(IGrainBase, Func<CancellationToken,Task>, GrainTimerCreationOptions) |
Crea un timer di granularità. |
RegisterGrainTimer(IGrainBase, Func<Task>, GrainTimerCreationOptions) | |
RegisterGrainTimer(IGrainBase, Func<CancellationToken,Task>, TimeSpan, TimeSpan) |
Crea un timer di granularità. |
RegisterGrainTimer(IGrainBase, Func<Task>, TimeSpan, TimeSpan) |
Crea un timer di granularità. |
RegisterGrainTimer<TState>(IGrainBase, Func<TState,CancellationToken,Task>, TState, GrainTimerCreationOptions) |
Crea un timer di granularità. |
RegisterGrainTimer<TState>(IGrainBase, Func<TState,Task>, TState, GrainTimerCreationOptions) | |
RegisterGrainTimer<TState>(IGrainBase, Func<TState,CancellationToken,Task>, TState, TimeSpan, TimeSpan) |
Crea un timer di granularità. |
RegisterGrainTimer<TState>(IGrainBase, Func<TState,Task>, TState, TimeSpan, TimeSpan) |
Crea un timer di granularità. |
RegisterGrainTimer(IGrainBase, Func<CancellationToken,Task>, GrainTimerCreationOptions)
Crea un timer di granularità.
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
Parametri
- grain
- IGrainBase
Istanza granulare.
- callback
- Func<CancellationToken,Task>
Callback timer, che verrà richiamato ogni volta che il timer diventa dovuto.
- options
- GrainTimerCreationOptions
Opzioni per la creazione del timer.
Restituisce
Istanza di IGrainTimer che rappresenta il timer.
Commenti
I timer di granularità non mantengono attivi i grani per impostazione predefinita. Impostando KeepAlive su true
, ogni tick timer estende la durata dell'attivazione della granularità. Se i segni di graduazione del timer sono poco frequenti, il grano può comunque essere disattivato a causa dell'inattività. Quando viene disattivata una granularità, tutti i timer attivi vengono eliminati.
Fino a quando non viene risolto il Task restituito dal callback, il tick timer successivo non verrà pianificato. Vale a dire, un callback timer non verrà mai eseguito contemporaneamente con se stesso. Se Interleave è impostato su true
, il callback timer potrà interleaversi con altre chiamate al metodo granulare e altri timer. Se Interleave è impostato su false
, il callback timer rispetterà l'impostazione di reentrancy della granularità, proprio come una tipica chiamata al metodo granulare.
Il timer può essere arrestato in qualsiasi momento chiamando il metodo Dispose() del IGrainTimer. L'eliminazione di un timer impedisce la pianificazione di ulteriori tick timer.
È possibile aggiornare il timer a scadenza e il periodo chiamando il relativo metodo Change(TimeSpan, TimeSpan). Ogni volta che il timer viene aggiornato, il tick timer successivo verrà pianificato in base all'ora di scadenza aggiornata. I tick successivi verranno pianificati dopo la scadenza del periodo aggiornato. Si noti che questo comportamento corrisponde al metodo Change(TimeSpan, TimeSpan).
Le eccezioni generate dal callback verranno registrate, ma non impediranno la coda del tick timer successivo.
Si applica a
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
Parametri
- grain
- IGrainBase
- options
- GrainTimerCreationOptions
Restituisce
Si applica a
RegisterGrainTimer(IGrainBase, Func<CancellationToken,Task>, TimeSpan, TimeSpan)
Crea un timer di granularità.
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
Parametri
- grain
- IGrainBase
Istanza granulare.
- callback
- Func<CancellationToken,Task>
Callback timer, che verrà richiamato ogni volta che il timer diventa dovuto.
- dueTime
- TimeSpan
Oggetto TimeSpan che rappresenta la quantità di tempo di ritardo prima di richiamare il metodo di callback specificato al momento della costruzione del IGrainTimer. Specificare InfiniteTimeSpan per impedire l'avvio del timer. Specificare Zero per avviare immediatamente il timer.
- period
- TimeSpan
Intervallo di tempo tra le chiamate del metodo di callback specificato quando è stata costruita la IGrainTimer. Specificare InfiniteTimeSpan per disabilitare la segnalazione periodica.
Restituisce
Istanza di IGrainTimer che rappresenta il timer.
Si applica a
RegisterGrainTimer(IGrainBase, Func<Task>, TimeSpan, TimeSpan)
Crea un timer di granularità.
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
Parametri
- grain
- IGrainBase
Istanza granulare.
- dueTime
- TimeSpan
Oggetto TimeSpan che rappresenta la quantità di tempo di ritardo prima di richiamare il metodo di callback specificato al momento della costruzione del IGrainTimer. Specificare InfiniteTimeSpan per impedire l'avvio del timer. Specificare Zero per avviare immediatamente il timer.
- period
- TimeSpan
Intervallo di tempo tra le chiamate del metodo di callback specificato quando è stata costruita la IGrainTimer. Specificare InfiniteTimeSpan per disabilitare la segnalazione periodica.
Restituisce
Istanza di IGrainTimer che rappresenta il timer.
Commenti
I timer di granularità non mantengono attivi i grani per impostazione predefinita. Impostando KeepAlive su true
, ogni tick timer estende la durata dell'attivazione della granularità. Se i segni di graduazione del timer sono poco frequenti, il grano può comunque essere disattivato a causa dell'inattività. Quando viene disattivata una granularità, tutti i timer attivi vengono eliminati.
Fino a quando non viene risolto il Task restituito dal callback, il tick timer successivo non verrà pianificato. Vale a dire, un callback timer non verrà mai eseguito contemporaneamente con se stesso. Se Interleave è impostato su true
, il callback timer potrà interleaversi con altre chiamate al metodo granulare e altri timer. Se Interleave è impostato su false
, il callback timer rispetterà l'impostazione di reentrancy della granularità, proprio come una tipica chiamata al metodo granulare.
Il timer può essere arrestato in qualsiasi momento chiamando il metodo Dispose() del IGrainTimer. L'eliminazione di un timer impedisce la pianificazione di ulteriori tick timer.
È possibile aggiornare il timer a scadenza e il periodo chiamando il relativo metodo Change(TimeSpan, TimeSpan). Ogni volta che il timer viene aggiornato, il tick timer successivo verrà pianificato in base all'ora di scadenza aggiornata. I tick successivi verranno pianificati dopo la scadenza del periodo aggiornato. Si noti che questo comportamento corrisponde al metodo Change(TimeSpan, TimeSpan).
Le eccezioni generate dal callback verranno registrate, ma non impediranno la coda del tick timer successivo.
Si applica a
RegisterGrainTimer<TState>(IGrainBase, Func<TState,CancellationToken,Task>, TState, GrainTimerCreationOptions)
Crea un timer di granularità.
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
Parametri di tipo
- TState
Tipo del parametro state
.
Parametri
- grain
- IGrainBase
- callback
- Func<TState,CancellationToken,Task>
Callback timer, che verrà richiamato ogni volta che il timer diventa dovuto.
- state
- TState
Stato passato al callback.
- options
- GrainTimerCreationOptions
Opzioni per la creazione del timer.
Restituisce
Istanza di IGrainTimer che rappresenta il timer.
Commenti
I timer di granularità non mantengono attivi i grani per impostazione predefinita. Impostando KeepAlive su true
, ogni tick timer estende la durata dell'attivazione della granularità. Se i segni di graduazione del timer sono poco frequenti, il grano può comunque essere disattivato a causa dell'inattività. Quando viene disattivata una granularità, tutti i timer attivi vengono eliminati.
Fino a quando non viene risolto il Task restituito dal callback, il tick timer successivo non verrà pianificato. Vale a dire, un callback timer non verrà mai eseguito contemporaneamente con se stesso. Se Interleave è impostato su true
, il callback timer potrà interleaversi con altre chiamate al metodo granulare e altri timer. Se Interleave è impostato su false
, il callback timer rispetterà l'impostazione di reentrancy della granularità, proprio come una tipica chiamata al metodo granulare.
Il timer può essere arrestato in qualsiasi momento chiamando il metodo Dispose() del IGrainTimer. L'eliminazione di un timer impedisce la pianificazione di ulteriori tick timer.
È possibile aggiornare il timer a scadenza e il periodo chiamando il relativo metodo Change(TimeSpan, TimeSpan). Ogni volta che il timer viene aggiornato, il tick timer successivo verrà pianificato in base all'ora di scadenza aggiornata. I tick successivi verranno pianificati dopo la scadenza del periodo aggiornato. Si noti che questo comportamento corrisponde al metodo Change(TimeSpan, TimeSpan).
Le eccezioni generate dal callback verranno registrate, ma non impediranno la coda del tick timer successivo.
Si applica a
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
Parametri di tipo
- TState
Tipo del parametro state
.
Parametri
- grain
- IGrainBase
- state
- TState
Stato passato al callback.
- options
- GrainTimerCreationOptions
Restituisce
Si applica a
RegisterGrainTimer<TState>(IGrainBase, Func<TState,CancellationToken,Task>, TState, TimeSpan, TimeSpan)
Crea un timer di granularità.
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
Parametri di tipo
- TState
Tipo del parametro state
.
Parametri
- grain
- IGrainBase
Istanza granulare.
- callback
- Func<TState,CancellationToken,Task>
Callback timer, che verrà richiamato ogni volta che il timer diventa dovuto.
- state
- TState
Stato passato al callback.
- dueTime
- TimeSpan
Oggetto TimeSpan che rappresenta la quantità di tempo di ritardo prima di richiamare il metodo di callback specificato al momento della costruzione del IGrainTimer. Specificare InfiniteTimeSpan per impedire l'avvio del timer. Specificare Zero per avviare immediatamente il timer.
- period
- TimeSpan
Intervallo di tempo tra le chiamate del metodo di callback specificato quando è stata costruita la IGrainTimer. Specificare InfiniteTimeSpan per disabilitare la segnalazione periodica.
Restituisce
Istanza di IGrainTimer che rappresenta il timer.
Si applica a
RegisterGrainTimer<TState>(IGrainBase, Func<TState,Task>, TState, TimeSpan, TimeSpan)
Crea un timer di granularità.
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
Parametri di tipo
- TState
Tipo del parametro state
.
Parametri
- grain
- IGrainBase
Istanza granulare.
Callback timer, che verrà richiamato ogni volta che il timer diventa dovuto.
- state
- TState
Stato passato al callback.
- dueTime
- TimeSpan
Oggetto TimeSpan che rappresenta la quantità di tempo di ritardo prima di richiamare il metodo di callback specificato al momento della costruzione del IGrainTimer. Specificare InfiniteTimeSpan per impedire l'avvio del timer. Specificare Zero per avviare immediatamente il timer.
- period
- TimeSpan
Intervallo di tempo tra le chiamate del metodo di callback specificato quando è stata costruita la IGrainTimer. Specificare InfiniteTimeSpan per disabilitare la segnalazione periodica.
Restituisce
Istanza di IGrainTimer che rappresenta il timer.