Compartir a través de


GrainBaseExtensions.RegisterGrainTimer Método

Definición

Sobrecargas

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

Crea un temporizador específico.

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

Crea un temporizador específico.

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

Crea un temporizador específico.

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

Crea un temporizador específico.

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

Crea un temporizador específico.

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

Crea un temporizador específico.

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

Crea un temporizador específico.

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

Parámetros

grain
IGrainBase

Instancia de grano.

callback
Func<CancellationToken,Task>

Devolución de llamada del temporizador, que se invocará cada vez que se deba el temporizador.

options
GrainTimerCreationOptions

Opciones para crear el temporizador.

Devoluciones

Instancia de IGrainTimer que representa el temporizador.

Comentarios

Los temporizadores de grano no mantienen los granos activos de forma predeterminada. Establecer KeepAlive en true hace que cada tic del temporizador extienda la duración de la activación del grano. Si los tics del temporizador son poco frecuentes, el grano todavía se puede desactivar debido a la inactividad. Cuando se desactiva un grano, se descartan todos los temporizadores activos.

Hasta que se resuelva el Task devuelto de la devolución de llamada, no se programará el siguiente tic del temporizador. Es decir, una devolución de llamada del temporizador nunca se ejecutará simultáneamente con sí misma. Si Interleave se establece en true, la devolución de llamada del temporizador podrá intercalar con con otras llamadas de método de grano y otros temporizadores. Si Interleave se establece en false, la devolución de llamada del temporizador respetará la configuración de reentrada del grano, al igual que una llamada típica al método de grano.

El temporizador se puede detener en cualquier momento llamando al método Dispose() del IGrainTimer. La eliminación de un temporizador impide que se programe más tics del temporizador.

El tiempo de vencimiento del temporizador y el período se pueden actualizar llamando a su método Change(TimeSpan, TimeSpan). Cada vez que se actualiza el temporizador, el siguiente tic del temporizador se programará en función del tiempo de vencimiento actualizado. Las tics posteriores se programarán una vez transcurrido el período actualizado. Tenga en cuenta que este comportamiento es el mismo que el método Change(TimeSpan, TimeSpan).

Las excepciones producidas desde la devolución de llamada se registrarán, pero no impedirán que el siguiente tic del temporizador se en cola.

Se aplica 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

Parámetros

grain
IGrainBase
callback
Func<Task>

Devoluciones

Se aplica a

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

Crea un temporizador específico.

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

Parámetros

grain
IGrainBase

Instancia de grano.

callback
Func<CancellationToken,Task>

Devolución de llamada del temporizador, que se invocará cada vez que se deba el temporizador.

dueTime
TimeSpan

Un TimeSpan que representa la cantidad de tiempo que se va a retrasar antes de invocar el método de devolución de llamada especificado cuando se construyó el IGrainTimer. Especifique InfiniteTimeSpan para evitar que se inicie el temporizador. Especifique Zero para iniciar el temporizador inmediatamente.

period
TimeSpan

Intervalo de tiempo entre invocaciones del método de devolución de llamada especificado cuando se construyó el IGrainTimer. Especifique InfiniteTimeSpan para deshabilitar la señalización periódica.

Devoluciones

Instancia de IGrainTimer que representa el temporizador.

Se aplica a

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

Crea un temporizador específico.

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

Parámetros

grain
IGrainBase

Instancia de grano.

callback
Func<Task>

Devolución de llamada del temporizador, que se invocará cada vez que se deba el temporizador.

dueTime
TimeSpan

Un TimeSpan que representa la cantidad de tiempo que se va a retrasar antes de invocar el método de devolución de llamada especificado cuando se construyó el IGrainTimer. Especifique InfiniteTimeSpan para evitar que se inicie el temporizador. Especifique Zero para iniciar el temporizador inmediatamente.

period
TimeSpan

Intervalo de tiempo entre invocaciones del método de devolución de llamada especificado cuando se construyó el IGrainTimer. Especifique InfiniteTimeSpan para deshabilitar la señalización periódica.

Devoluciones

Instancia de IGrainTimer que representa el temporizador.

Comentarios

Los temporizadores de grano no mantienen los granos activos de forma predeterminada. Establecer KeepAlive en true hace que cada tic del temporizador extienda la duración de la activación del grano. Si los tics del temporizador son poco frecuentes, el grano todavía se puede desactivar debido a la inactividad. Cuando se desactiva un grano, se descartan todos los temporizadores activos.

Hasta que se resuelva el Task devuelto de la devolución de llamada, no se programará el siguiente tic del temporizador. Es decir, una devolución de llamada del temporizador nunca se ejecutará simultáneamente con sí misma. Si Interleave se establece en true, la devolución de llamada del temporizador podrá intercalar con con otras llamadas de método de grano y otros temporizadores. Si Interleave se establece en false, la devolución de llamada del temporizador respetará la configuración de reentrada del grano, al igual que una llamada típica al método de grano.

El temporizador se puede detener en cualquier momento llamando al método Dispose() del IGrainTimer. La eliminación de un temporizador impide que se programe más tics del temporizador.

El tiempo de vencimiento del temporizador y el período se pueden actualizar llamando a su método Change(TimeSpan, TimeSpan). Cada vez que se actualiza el temporizador, el siguiente tic del temporizador se programará en función del tiempo de vencimiento actualizado. Las tics posteriores se programarán una vez transcurrido el período actualizado. Tenga en cuenta que este comportamiento es el mismo que el método Change(TimeSpan, TimeSpan).

Las excepciones producidas desde la devolución de llamada se registrarán, pero no impedirán que el siguiente tic del temporizador se en cola.

Se aplica a

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

Crea un temporizador específico.

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

Parámetros de tipo

TState

Tipo del parámetro state.

Parámetros

grain
IGrainBase
callback
Func<TState,CancellationToken,Task>

Devolución de llamada del temporizador, que se invocará cada vez que se deba el temporizador.

state
TState

Estado pasado a la devolución de llamada.

options
GrainTimerCreationOptions

Opciones para crear el temporizador.

Devoluciones

Instancia de IGrainTimer que representa el temporizador.

Comentarios

Los temporizadores de grano no mantienen los granos activos de forma predeterminada. Establecer KeepAlive en true hace que cada tic del temporizador extienda la duración de la activación del grano. Si los tics del temporizador son poco frecuentes, el grano todavía se puede desactivar debido a la inactividad. Cuando se desactiva un grano, se descartan todos los temporizadores activos.

Hasta que se resuelva el Task devuelto de la devolución de llamada, no se programará el siguiente tic del temporizador. Es decir, una devolución de llamada del temporizador nunca se ejecutará simultáneamente con sí misma. Si Interleave se establece en true, la devolución de llamada del temporizador podrá intercalar con con otras llamadas de método de grano y otros temporizadores. Si Interleave se establece en false, la devolución de llamada del temporizador respetará la configuración de reentrada del grano, al igual que una llamada típica al método de grano.

El temporizador se puede detener en cualquier momento llamando al método Dispose() del IGrainTimer. La eliminación de un temporizador impide que se programe más tics del temporizador.

El tiempo de vencimiento del temporizador y el período se pueden actualizar llamando a su método Change(TimeSpan, TimeSpan). Cada vez que se actualiza el temporizador, el siguiente tic del temporizador se programará en función del tiempo de vencimiento actualizado. Las tics posteriores se programarán una vez transcurrido el período actualizado. Tenga en cuenta que este comportamiento es el mismo que el método Change(TimeSpan, TimeSpan).

Las excepciones producidas desde la devolución de llamada se registrarán, pero no impedirán que el siguiente tic del temporizador se en cola.

Se aplica 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

Parámetros de tipo

TState

Tipo del parámetro state.

Parámetros

grain
IGrainBase
callback
Func<TState,Task>
state
TState

Estado pasado a la devolución de llamada.

Devoluciones

Se aplica a

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

Crea un temporizador específico.

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

Parámetros de tipo

TState

Tipo del parámetro state.

Parámetros

grain
IGrainBase

Instancia de grano.

callback
Func<TState,CancellationToken,Task>

Devolución de llamada del temporizador, que se invocará cada vez que se deba el temporizador.

state
TState

Estado pasado a la devolución de llamada.

dueTime
TimeSpan

Un TimeSpan que representa la cantidad de tiempo que se va a retrasar antes de invocar el método de devolución de llamada especificado cuando se construyó el IGrainTimer. Especifique InfiniteTimeSpan para evitar que se inicie el temporizador. Especifique Zero para iniciar el temporizador inmediatamente.

period
TimeSpan

Intervalo de tiempo entre invocaciones del método de devolución de llamada especificado cuando se construyó el IGrainTimer. Especifique InfiniteTimeSpan para deshabilitar la señalización periódica.

Devoluciones

Instancia de IGrainTimer que representa el temporizador.

Se aplica a

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

Crea un temporizador específico.

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

Parámetros de tipo

TState

Tipo del parámetro state.

Parámetros

grain
IGrainBase

Instancia de grano.

callback
Func<TState,Task>

Devolución de llamada del temporizador, que se invocará cada vez que se deba el temporizador.

state
TState

Estado pasado a la devolución de llamada.

dueTime
TimeSpan

Un TimeSpan que representa la cantidad de tiempo que se va a retrasar antes de invocar el método de devolución de llamada especificado cuando se construyó el IGrainTimer. Especifique InfiniteTimeSpan para evitar que se inicie el temporizador. Especifique Zero para iniciar el temporizador inmediatamente.

period
TimeSpan

Intervalo de tiempo entre invocaciones del método de devolución de llamada especificado cuando se construyó el IGrainTimer. Especifique InfiniteTimeSpan para deshabilitar la señalización periódica.

Devoluciones

Instancia de IGrainTimer que representa el temporizador.

Se aplica a