Compartir a través de


Grain Clase

Definición

Clase base abstracta para todas las clases de grano.

public abstract class Grain : Orleans.Runtime.IAddressable
public abstract class Grain : Orleans.ILifecycleParticipant<Orleans.Runtime.IGrainLifecycle>, Orleans.Runtime.IAddressable
public abstract class Grain : Orleans.IGrainBase, Orleans.Runtime.IAddressable
type Grain = class
    interface IAddressable
type Grain = class
    interface IAddressable
    interface ILifecycleParticipant<IGrainLifecycle>
type Grain = class
    interface IGrainBase
    interface IAddressable
Public MustInherit Class Grain
Implements IAddressable
Public MustInherit Class Grain
Implements IAddressable, ILifecycleParticipant(Of IGrainLifecycle)
Public MustInherit Class Grain
Implements IAddressable, IGrainBase
Herencia
Grain
Derivado
Implementaciones

Constructores

Grain()

Este constructor nunca se debe invocar. Lo exponemos para que el código de cliente (subclases de Grain) no tenga que agregar un constructor. El código de cliente debe usar la propiedad GrainFactory para obtener una referencia a un grano.

Grain(IGrainContext, IGrainRuntime)

Los implementadores de grano no tienen que exponer este constructor, pero pueden optar por hacerlo. Este constructor es especialmente útil para las pruebas unitarias en las que el código de prueba puede crear un grano y reemplazar IGrainIdentity e IGrainRuntime por dobles de prueba (mocks/stubs).

Grain(IGrainIdentity, IGrainRuntime)

Los implementadores de grano no tienen que exponer este constructor, pero pueden optar por hacerlo. Este constructor es especialmente útil para las pruebas unitarias en las que el código de prueba puede crear un grano y reemplazar IGrainIdentity e IGrainRuntime por dobles de prueba (mocks/stubs).

Propiedades

GrainContext

Clase base abstracta para todas las clases de grano.

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.

GrainReference

Clase base abstracta para todas las clases de grano.

IdentityString

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

RuntimeIdentity

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

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.

Métodos

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 significa que el tiempo de ejecución creará automáticamente una nueva activación.

DelayDeactivation(TimeSpan)

Retrasar la desactivación de esta activación al menos durante el tiempo especificado. Un valor de timeSpan positivo significa "evitar gc de esta activación durante ese intervalo de tiempo". Un valor de timeSpan negativo 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 activo", lo que hace que este grano esté disponible inmediatamente para la desactivación.

GetLogger()

Devuelve un objeto 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(String)

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

GetReminder(String)

Devuelve un aviso registrado anteriormente.

GetReminders()

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

GetStreamProvider(String)

Clase base abstracta para todas las clases de grano.

GetStreamProviders()

Clase base abstracta para todas las clases de grano.

MigrateOnIdle()

Inicia un intento de migrar esta instancia a otra ubicación. La migración captura el RequestContextactual, 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.

OnActivateAsync()

Este método se llama 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.

OnActivateAsync(CancellationToken)

Este método se llama 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.

OnDeactivateAsync()

Este método se llama al principio del proceso de desactivación de un grano.

OnDeactivateAsync(DeactivationReason, CancellationToken)

Este método se llama al principio del proceso de desactivación de un grano.

Participate(IGrainLifecycle)

Clase base abstracta para todas las clases de grano.

RegisterOrUpdateReminder(String, TimeSpan, TimeSpan)

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

RegisterTimer(Func<Object,Task>, Object, TimeSpan, TimeSpan)
Obsoletos.

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

UnregisterReminder(IGrainReminder)

Anula el registro de un aviso registrado anteriormente.

Implementaciones de interfaz explícitas

IGrainBase.GrainContext

Clase base abstracta para todas las clases de grano.

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 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 RequestContextactual, 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.

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

Crea un temporizador específico.

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

Crea un temporizador específico.

RegisterGrainTimer(IGrainBase, Func<Task>, GrainTimerCreationOptions)

Clase base abstracta para todas las clases de grano.

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,CancellationToken,Task>, TState, TimeSpan, TimeSpan)

Crea un temporizador específico.

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

Clase base abstracta para todas las clases de grano.

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

Crea un temporizador específico.

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 IGrainFactoryproporcionada.

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.

GetPrimaryKey(IAddressable)

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

GetPrimaryKey(IAddressable, String)

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

GetPrimaryKeyLong(IAddressable)

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

GetPrimaryKeyLong(IAddressable, String)

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

GetPrimaryKeyString(IAddressable)

Devuelve el 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 anteriormente.

GetReminder(IGrainBase, String)

Devuelve un aviso registrado anteriormente.

GetReminders(Grain)

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

GetReminders(IGrainBase)

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

RegisterOrUpdateReminder(Grain, String, TimeSpan, TimeSpan)

Registra un recordatorio persistente y confiable para enviar notificaciones normales (recordatorios) al grano. El grano debe implementar la interfaz Orleans.IRemindable y se enviarán recordatorios para este grano al método de devolución de llamada ReceiveReminder. Si el grano actual se desactiva cuando se activa el temporizador, se creará una nueva activación de este grano para recibir este recordatorio. Si ya existe un recordatorio existente con el mismo nombre, ese aviso se sobrescribirá con este nuevo recordatorio. Los recordatorios siempre se recibirán mediante 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 normales (recordatorios) al grano. El grano debe implementar la interfaz Orleans.IRemindable y se enviarán recordatorios para este grano al método de devolución de llamada ReceiveReminder. Si el grano actual se desactiva cuando se activa el temporizador, se creará una nueva activación de este grano para recibir este recordatorio. Si ya existe un recordatorio existente con el mismo nombre, ese aviso se sobrescribirá con este nuevo recordatorio. Los recordatorios siempre se recibirán mediante 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 nameespecificado.

GetStreamProvider(IGrainBase, String)

Obtiene el proveedor de flujos con el nameespecificado.

GetLogger(Grain)

Devuelve un objeto 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 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