Share via


JournaledGrain<TGrainState,TEventBase> Clase

Definición

Clase base para granos coherentes con el registro mediante terminología estándar de origen de eventos. Todas las operaciones son seguras para la reentrada.

public abstract class JournaledGrain<TGrainState,TEventBase> : Orleans.LogConsistency.LogConsistentGrainBase<TGrainState>, Orleans.LogConsistency.ILogConsistentGrain, Orleans.LogConsistency.ILogViewAdaptorHost<TGrainState,TEventBase>, Orleans.MultiCluster.ILogConsistencyProtocolParticipant where TGrainState : class, new() where TEventBase : class
public abstract class JournaledGrain<TGrainState,TEventBase> : Orleans.LogConsistency.LogConsistentGrain<TGrainState>, Orleans.IGrain, Orleans.LogConsistency.ILogViewAdaptorHost<TGrainState,TEventBase>, Orleans.MultiCluster.ILogConsistencyProtocolParticipant where TGrainState : class, new() where TEventBase : class
public abstract class JournaledGrain<TGrainState,TEventBase> : Orleans.EventSourcing.LogConsistentGrain<TGrainState>, Orleans.EventSourcing.ILogConsistencyProtocolParticipant, Orleans.EventSourcing.ILogViewAdaptorHost<TGrainState,TEventBase>, Orleans.IGrain where TGrainState : class, new() where TEventBase : class
type JournaledGrain<'GrainState, 'EventBase (requires 'GrainState : null and 'GrainState : (new : unit -> 'GrainState) and 'EventBase : null)> = class
    inherit LogConsistentGrainBase<'GrainState (requires 'GrainState : null and 'GrainState : (new : unit -> 'GrainState))>
    interface ILogConsistentGrain
    interface ILogConsistencyProtocolParticipant
    interface IGrain
    interface IAddressable
    interface ILogViewAdaptorHost<'GrainState, 'EventBase (requires 'GrainState : null and 'GrainState : (new : unit -> 'GrainState) and 'EventBase : null)>
    interface IConnectionIssueListener
type JournaledGrain<'GrainState, 'EventBase (requires 'GrainState : null and 'GrainState : (new : unit -> 'GrainState) and 'EventBase : null)> = class
    inherit LogConsistentGrain<'GrainState (requires 'GrainState : null and 'GrainState : (new : unit -> 'GrainState))>
    interface ILogConsistencyProtocolParticipant
    interface IGrain
    interface IAddressable
    interface ILogViewAdaptorHost<'GrainState, 'EventBase (requires 'GrainState : null and 'GrainState : (new : unit -> 'GrainState) and 'EventBase : null)>
    interface IConnectionIssueListener
Public MustInherit Class JournaledGrain(Of TGrainState, TEventBase)
Inherits LogConsistentGrainBase(Of TGrainState)
Implements ILogConsistencyProtocolParticipant, ILogConsistentGrain, ILogViewAdaptorHost(Of TGrainState, TEventBase)
Public MustInherit Class JournaledGrain(Of TGrainState, TEventBase)
Inherits LogConsistentGrain(Of TGrainState)
Implements IGrain, ILogConsistencyProtocolParticipant, ILogViewAdaptorHost(Of TGrainState, TEventBase)

Parámetros de tipo

TGrainState

Tipo para el estado de grano, es decir, la vista de agregado del registro de eventos.

TEventBase

La clase base común para los eventos

Herencia
JournaledGrain<TGrainState,TEventBase>
Herencia
LogConsistentGrain<TGrainState>
JournaledGrain<TGrainState,TEventBase>
Herencia
LogConsistentGrain<TGrainState>
JournaledGrain<TGrainState,TEventBase>
Derivado
Implementaciones

Constructores

JournaledGrain<TGrainState,TEventBase>()

Inicializa una nueva instancia de la clase JournaledGrain<TGrainState,TEventBase>.

JournaledGrain<TGrainState,TEventBase>(IGrainIdentity, IGrainRuntime)

Este constructor es especialmente útil para las pruebas unitarias en las que el código de prueba puede crear un elemento Grain y reemplazar IGrainIdentity, IGrainRuntime y State por dobles de prueba (mocks/stubs).

Propiedades

DefaultAdaptorFactory

Si no se especifica ningún proveedor de coherencia de registros, almacene el estado con control de versiones mediante el proveedor de almacenamiento predeterminado.

GrainFactory

Obtiene un objeto que se puede usar para tener acceso a otros granos. Null si este grano no está asociado a un runtime, como cuando se crea directamente para las pruebas unitarias.

(Heredado de Grain)
GrainReference

Clase base para granos coherentes con el registro mediante terminología estándar de origen de eventos. Todas las operaciones son seguras para la reentrada.

(Heredado de Grain)
IdentityString

Representación de cadena del SiloIdentity del grano, incluido el tipo y la clave principal.

(Heredado de Grain)
RuntimeIdentity

Identificador único del silo actual. No hay contenido semántico en esta cadena, pero puede ser útil para el registro.

(Heredado de Grain)
ServiceProvider

Obtiene el IServiceProvider administrado por el tiempo de ejecución. Null si este grano no está asociado a un runtime, como cuando se crea directamente para las pruebas unitarias.

(Heredado de Grain)
State

Obtiene el estado confirmado actual. Incluye solo eventos confirmados.

TentativeState

Obtiene el estado provisional actual. Incluye eventos confirmados y no confirmados.

UnconfirmedEvents

Devuelve la cola actual de eventos no confirmados.

UnresolvedConnectionIssues

Obtiene una lista de todos los problemas de conexión no resueltos actualmente.

Version

Obtiene la versión del estado confirmado actual. Es igual al número total de eventos confirmados.

Métodos

ConfirmEvents()

Espera hasta que se hayan confirmado todos los eventos generados anteriormente.

espere esto después de generar uno o varios eventos, para asegurarse de que los eventos se conservan antes de continuar, o para garantizar una coherencia fuerte (linealización) incluso si hay varias instancias de este grano.

DeactivateOnIdle()

Desactive esta activación del grano una vez completada la llamada al método de grano actual. Esta llamada marcará esta activación del grano actual que se va a desactivar y quitar al final del método actual. La siguiente llamada a este grano dará lugar a una activación diferente que se usará, lo que normalmente significa que el tiempo de ejecución creará automáticamente una nueva activación.

(Heredado de Grain)
DelayDeactivation(TimeSpan)

Retrasar la desactivación de esta activación al menos durante el tiempo especificado. Un valor positivo timeSpan significa "evitar gc de esta activación durante ese intervalo de tiempo". Un valor negativo timeSpan significa "cancelar la configuración anterior de la llamada DelayDeactivation y hacer que esta activación se comporte en función de la configuración normal de la recolección de elementos no utilizados de activación". El método DeactivateOnIdle deshacería o invalidaría cualquier configuración actual de "mantener activa", lo que hace que este grano esté disponible inmediatamente para la desactivación.

(Heredado de Grain)
DisableStatsCollection()

Clase base para granos coherentes con el registro mediante terminología estándar de origen de eventos. Todas las operaciones son seguras para la reentrada.

EnableStatsCollection()

Clase base para granos coherentes con el registro mediante terminología estándar de origen de eventos. Todas las operaciones son seguras para la reentrada.

GetLogger()

Devuelve un objeto de registrador que el código de este grano puede usar para el seguimiento. El nombre del registrador se derivará del nombre de la clase de grano.

(Heredado de Grain)
GetLogger(String)

Devuelve un objeto de registrador que el código de este grano puede usar para el seguimiento.

(Heredado de Grain)
GetReminder(String)

Devuelve un aviso registrado previamente.

(Heredado de Grain)
GetReminders()

Devuelve una lista de todos los avisos registrados por el grano.

(Heredado de Grain)
GetStats()

Clase base para granos coherentes con el registro mediante terminología estándar de origen de eventos. Todas las operaciones son seguras para la reentrada.

GetStreamProvider(String)

Clase base para granos coherentes con el registro mediante terminología estándar de origen de eventos. Todas las operaciones son seguras para la reentrada.

(Heredado de Grain)
GetStreamProviders()

Clase base para granos coherentes con el registro mediante terminología estándar de origen de eventos. Todas las operaciones son seguras para la reentrada.

(Heredado de Grain)
InstallAdaptor(ILogViewAdaptorFactory, Object, String, IGrainStorage, ILogConsistencyProtocolServices)

Se llama justo después de construir el grano, para instalar el adaptador. El proveedor de coherencia de registros contiene un método de fábrica que construye el adaptador con tipos elegidos para este grano.

InstallAdaptor(ILogViewAdaptorFactory, Object, String, IGrainStorage, ILogConsistencyProtocolServices)

Se llama justo después de construir el grano, para instalar el adaptador. El proveedor de coherencia de registros contiene un método de fábrica que construye el adaptador con tipos elegidos para este grano.

MigrateOnIdle()

Inicia un intento de migrar esta instancia a otra ubicación. La migración captura el actual RequestContext, lo que hace que esté disponible para el director de selección de ubicación de la activación para que pueda considerarlo al seleccionar una nueva ubicación. La migración se producirá de forma asincrónica, cuando no se ejecute ninguna solicitud y no se producirá si el director de selección de ubicación de la activación no selecciona una ubicación alternativa.

(Heredado de Grain)
OnActivateAsync()

De forma predeterminada, tras la activación, el grano en diario espera hasta que haya cargado la vista más reciente desde el almacenamiento. Las subclases pueden invalidar este comportamiento y omitir la espera si lo desea.

OnActivateAsync()

Se llama a este método al final del proceso de activación de un grano. Se llama antes de que se hayan enviado mensajes al grano. En el caso de los granos con estado persistente declarado, se llama a este método después de rellenar la propiedad State.

(Heredado de Grain)
OnActivateAsync(CancellationToken)

De forma predeterminada, tras la activación, el grano en diario espera hasta que haya cargado la vista más reciente desde el almacenamiento. Las subclases pueden invalidar este comportamiento y omitir la espera si lo desea.

OnActivateAsync(CancellationToken)

Se llama a este método al final del proceso de activación de un grano. Se llama antes de que se hayan enviado mensajes al grano. En el caso de los granos con estado persistente declarado, se llama a este método después de rellenar la propiedad State.

(Heredado de Grain)
OnConnectionIssue(ConnectionIssue)

Se llama cuando el protocolo de replicación o persistencia subyacente se encuentra en algún tipo de problema de conexión.

Invalide esta opción para supervisar el estado del protocolo de coherencia de registros o para personalizar los retrasos de reintento. Las excepciones iniciadas se detectan y registran mediante .ILogViewAdaptorFactory

OnConnectionIssue(ConnectionIssue)

Se llama cuando el protocolo de replicación o persistencia subyacente se encuentra en algún tipo de problema de conexión.

Invalide esta opción para supervisar el estado del protocolo de coherencia de registros o para personalizar los retrasos de reintento. Las excepciones iniciadas se detectan y registran mediante .ILogConsistencyProvider

OnConnectionIssueResolved(ConnectionIssue)

Se llama cuando se ha resuelto un problema de conexión notificado anteriormente.

Invalide esta opción para supervisar el estado del protocolo de coherencia del registro. Las excepciones iniciadas se detectan y registran mediante .ILogConsistencyProvider

OnConnectionIssueResolved(ConnectionIssue)

Se llama cuando se ha resuelto un problema de conexión notificado anteriormente.

Invalide esta opción para supervisar el estado del protocolo de coherencia del registro. Las excepciones iniciadas se detectan y registran mediante .ILogViewAdaptorFactory

OnDeactivateAsync()

Se llama a este método al principio del proceso de desactivación de un grano.

(Heredado de Grain)
OnDeactivateAsync(DeactivationReason, CancellationToken)

Se llama a este método al principio del proceso de desactivación de un grano.

(Heredado de Grain)
OnStateChanged()

Se le llama después de que el estado confirmado haya cambiado (es decir, el número de versión confirmado es mayor).

Invalide esto para reaccionar a los cambios del estado confirmado.

OnTentativeStateChanged()

Se llama cada vez que el estado provisional puede haber cambiado debido a eventos locales o remotos.

Invalide esto para reaccionar a los cambios del estado.

Participate(IGrainLifecycle)

Clase base para granos coherentes con el registro mediante terminología estándar de origen de eventos. Todas las operaciones son seguras para la reentrada.

(Heredado de Grain)
Participate(IGrainLifecycle)

Clase base para granos coherentes con el registro mediante terminología estándar de origen de eventos. Todas las operaciones son seguras para la reentrada.

(Heredado de LogConsistentGrain<TView>)
Participate(IGrainLifecycle)

Clase base para granos coherentes con el registro mediante terminología estándar de origen de eventos. Todas las operaciones son seguras para la reentrada.

(Heredado de LogConsistentGrain<TView>)
RaiseConditionalEvent<TEvent>(TEvent)

Genere un evento condicionalmente. Solo se ejecuta correctamente si no hay ningún conflicto, es decir, no se generaron otros eventos mientras tanto.

RaiseConditionalEvents<TEvent>(IEnumerable<TEvent>)

Genere varios eventos, como una secuencia atómica, condicionalmente. Solo se ejecuta correctamente si no hay ningún conflicto, es decir, no se generaron otros eventos mientras tanto.

RaiseEvent<TEvent>(TEvent)

Genera un evento.

RaiseEvents<TEvent>(IEnumerable<TEvent>)

Genera varios eventos, como una secuencia atómica.

RefreshNow()

Recupera el estado más reciente ahora y confirma todos los eventos generados anteriormente. De hecho, esto aplica la sincronización con el estado global.

Espere esto antes de leer el estado para garantizar una coherencia fuerte (linealización) incluso si hay varias instancias de este grano.

RegisterOrUpdateReminder(String, TimeSpan, TimeSpan)

Registra un recordatorio persistente y confiable para enviar notificaciones periódicas (recordatorios) al grano. El grano debe implementar la Orleans.IRemindable interfaz y los avisos para este grano se enviarán al ReceiveReminder método de devolución de llamada. Si el grano actual se desactiva cuando se activa el temporizador, se creará una nueva activación de este grano para recibir este aviso. Si ya existe un recordatorio con el mismo nombre, ese aviso se sobrescribirá con este nuevo recordatorio. Los avisos siempre serán recibidos por una activación de este grano, incluso si existen varias activaciones para este grano.

(Heredado de Grain)
RegisterTimer(Func<Object,Task>, Object, TimeSpan, TimeSpan)

Registra un temporizador para enviar devoluciones de llamada periódicas a este grano.

(Heredado de Grain)
RetrieveConfirmedEvents(Int32, Int32)

Recupera un segmento de la secuencia de eventos confirmada, posiblemente del almacenamiento. NotSupportedException Produce si los eventos no están disponibles para leerse. Si los eventos están disponibles y durante cuánto tiempo dependen de los proveedores usados y de cómo se configuran.

TransitionState(TGrainState, TEventBase)

Define cómo aplicar eventos al estado. A menos que se invalide en la subclase, llama a una función dinámica "Apply" en el estado, con el evento como parámetro. El proveedor de vistas de registro detecta y registra todas las excepciones producidas por este método.

Invalide esta opción para personalizar cómo realizar la transición del estado de un evento determinado.

UnregisterReminder(IGrainReminder)

Anula el registro de un aviso registrado anteriormente.

(Heredado de Grain)

Implementaciones de interfaz explícitas

IConnectionIssueListener.OnConnectionIssue(ConnectionIssue)

llamado por el adaptador en problemas de conexión.

IConnectionIssueListener.OnConnectionIssue(ConnectionIssue)

llamado por el adaptador en problemas de conexión.

IConnectionIssueListener.OnConnectionIssueResolved(ConnectionIssue)

Lo llama el adaptador cuando se resuelve un problema de conexión.

IConnectionIssueListener.OnConnectionIssueResolved(ConnectionIssue)

lo llama el adaptador cuando se resuelve un problema de conexión.

IGrainBase.GrainContext

Clase base para granos coherentes con el registro mediante terminología estándar de origen de eventos. Todas las operaciones son seguras para la reentrada.

(Heredado de Grain)
ILogConsistencyProtocolParticipant.DeactivateProtocolParticipant()

Notificar al adaptador de vista de registro de desactivación

ILogConsistencyProtocolParticipant.DeactivateProtocolParticipant()

Notificar al adaptador de vista de registro de desactivación

ILogConsistencyProtocolParticipant.OnMultiClusterConfigurationChange(MultiClusterConfiguration)

Reciba un cambio de configuración y pase al adaptador de vista de registro.

ILogConsistencyProtocolParticipant.OnProtocolMessageReceived(ILogConsistencyProtocolMessage)

Reciba un mensaje de protocolo de otros clústeres, pasado al adaptador de vista de registro.

ILogConsistencyProtocolParticipant.PostActivateProtocolParticipant()

Notificar al adaptador de vista de registro de activación (llamado después de onActivate de nivel de usuario)

ILogConsistencyProtocolParticipant.PostActivateProtocolParticipant()

Notificar al adaptador de vista de registro de activación (llamado después de onActivate de nivel de usuario)

ILogConsistencyProtocolParticipant.PreActivateProtocolParticipant()

Notificar al adaptador de la vista de registro la activación (denominada antes del nivel de usuario OnActivate)

ILogConsistencyProtocolParticipant.PreActivateProtocolParticipant()

Notificar al adaptador de la vista de registro la activación (denominada antes del nivel de usuario OnActivate)

ILogConsistentGrain.DefaultAdaptorFactory

Si no se especifica ningún proveedor de coherencia de registros, almacene el estado con control de versiones mediante el proveedor de almacenamiento predeterminado.

ILogConsistentGrain.InstallAdaptor(ILogViewAdaptorFactory, Object, String, IStorageProvider, ILogConsistencyProtocolServices)

Se llama justo después de construir el grano, para instalar el adaptador. El proveedor de coherencia de registros contiene un método de fábrica que construye el adaptador con tipos elegidos para este grano.

ILogViewAdaptorHost<TGrainState,TEventBase>.OnViewChanged(Boolean, Boolean)

Lo llama el adaptador en el cambio de estado.

ILogViewAdaptorHost<TGrainState,TEventBase>.OnViewChanged(Boolean, Boolean)

llamado por adaptador en el cambio de estado.

ILogViewAdaptorHost<TGrainState,TEventBase>.UpdateView(TGrainState, TEventBase)

Lo llama el adaptador para actualizar la vista cuando se anexan entradas.

ILogViewAdaptorHost<TGrainState,TEventBase>.UpdateView(TGrainState, TEventBase)

lo llama el adaptador para actualizar la vista cuando se anexan las entradas.

Métodos de extensión

DeactivateOnIdle(IGrainBase)

Desactive esta activación de grano una vez completada la llamada al método de grano actual. Esta llamada marcará esta activación del grano actual que se va a desactivar y quitar al final del método actual. La siguiente llamada a este grano dará lugar a una activación diferente que se usará, lo que normalmente significa que el tiempo de ejecución creará automáticamente una nueva activación.

MigrateOnIdle(IGrainBase)

Inicia un intento de migrar esta instancia a otra ubicación. La migración captura el actual RequestContext, lo que hace que esté disponible para el director de selección de ubicación de la activación para que pueda considerarlo al seleccionar una nueva ubicación. La migración se producirá de forma asincrónica, cuando no se ejecute ninguna solicitud y no se producirá si el director de selección de ubicación de la activación no selecciona una ubicación alternativa.

AsReference(IAddressable, Type)

Devuelve una referencia con tipo al grano proporcionado.

AsReference<TGrainInterface>(IAddressable)

Devuelve una referencia con tipo al grano proporcionado.

BindGrainReference(IAddressable, IGrainFactory)

Enlaza la referencia de grano a la proporcionada IGrainFactory.

Cast(IAddressable, Type)

Devuelve una referencia con tipo al grano proporcionado.

Cast<TGrainInterface>(IAddressable)

Devuelve una referencia con tipo al grano proporcionado.

GetGrainId(IAddressable)

Devuelve el identificador de grano correspondiente al grano proporcionado.

GetGrainIdentity(IGrain)

Clase base para granos coherentes con el registro mediante terminología estándar de origen de eventos. Todas las operaciones son seguras para la reentrada.

GetPrimaryKey(IGrain)

Clase base para granos coherentes con el registro mediante terminología estándar de origen de eventos. Todas las operaciones son seguras para la reentrada.

GetPrimaryKey(IGrain, String)

Clase base para granos coherentes con el registro mediante terminología estándar de origen de eventos. Todas las operaciones son seguras para la reentrada.

GetPrimaryKey(IAddressable)

Devuelve la Guid representación de una clave principal de grano.

GetPrimaryKey(IAddressable, String)

Devuelve la Guid representación de una clave principal de grano.

GetPrimaryKeyLong(IGrain)

Clase base para granos coherentes con el registro mediante terminología estándar de origen de eventos. Todas las operaciones son seguras para la reentrada.

GetPrimaryKeyLong(IGrain, String)

Clase base para granos coherentes con el registro mediante terminología estándar de origen de eventos. Todas las operaciones son seguras para la reentrada.

GetPrimaryKeyLong(IAddressable)

Devuelve la long representación de una clave principal de grano.

GetPrimaryKeyLong(IAddressable, String)

Devuelve la long representación de una clave principal de grano.

GetPrimaryKeyString(IAddressable)

Devuelve la string clave principal del grano.

IsPrimaryKeyBasedOnLong(IAddressable)

Devuelve si parte de la clave principal es de tipo long.

GetReminder(Grain, String)

Devuelve un aviso registrado previamente.

GetReminder(IGrainBase, String)

Devuelve un aviso registrado previamente.

GetReminders(Grain)

Devuelve una lista de todos los avisos registrados por el grano.

GetReminders(IGrainBase)

Devuelve una lista de todos los avisos registrados por el grano.

RegisterOrUpdateReminder(Grain, String, TimeSpan, TimeSpan)

Registra un recordatorio persistente y confiable para enviar notificaciones periódicas (recordatorios) al grano. El grano debe implementar la Orleans.IRemindable interfaz y los avisos para este grano se enviarán al ReceiveReminder método de devolución de llamada. Si el grano actual se desactiva cuando se activa el temporizador, se creará una nueva activación de este grano para recibir este aviso. Si ya existe un recordatorio con el mismo nombre, ese aviso se sobrescribirá con este nuevo recordatorio. Los avisos siempre serán recibidos por una activación de este grano, incluso si existen varias activaciones para este grano.

RegisterOrUpdateReminder(IGrainBase, String, TimeSpan, TimeSpan)

Registra un recordatorio persistente y confiable para enviar notificaciones periódicas (recordatorios) al grano. El grano debe implementar la Orleans.IRemindable interfaz y los avisos para este grano se enviarán al ReceiveReminder método de devolución de llamada. Si el grano actual se desactiva cuando se activa el temporizador, se creará una nueva activación de este grano para recibir este aviso. Si ya existe un recordatorio con el mismo nombre, ese aviso se sobrescribirá con este nuevo recordatorio. Los avisos siempre serán recibidos por una activación de este grano, incluso si existen varias activaciones para este grano.

UnregisterReminder(Grain, IGrainReminder)

Anula el registro de un aviso registrado anteriormente.

UnregisterReminder(IGrainBase, IGrainReminder)

Anula el registro de un aviso registrado anteriormente.

GetStreamProvider(Grain, String)

Obtiene el proveedor de flujos con el especificado name.

GetStreamProvider(IGrainBase, String)

Obtiene el proveedor de flujos con el especificado name.

GetLogger(Grain)

Devuelve un objeto de registrador que el código de este grano puede usar para el seguimiento. El nombre del registrador se derivará del nombre de la clase de grano.

GetLogger(Grain, String)

Devuelve un objeto de registrador que el código de este grano puede usar para el seguimiento.

GetGrainStorage(Grain, IServiceProvider)

Adquiera el proveedor de almacenamiento asociado al tipo de grano.

Se aplica a