Partilhar via


Grain<TGrainState> Classe

Definição

Classe base para um Grain com estado persistente declarado.

public class Grain<TGrainState> : Orleans.Grain where TGrainState : new()
public class Grain<TGrainState> : Orleans.Grain
type Grain<'GrainState (requires 'GrainState : (new : unit -> 'GrainState))> = class
    inherit Grain
type Grain<'GrainState> = class
    inherit Grain
Public Class Grain(Of TGrainState)
Inherits Grain

Parâmetros de tipo

TGrainState

A classe do objeto de estado persistente

Herança
Grain<TGrainState>

Construtores

Grain<TGrainState>()

Inicializa uma nova instância da classe Grain<TGrainState>.

Grain<TGrainState>(IGrainIdentity, IGrainRuntime, IStorage<TGrainState>)

Os implementadores de grãos NÃO precisam expor esse construtor, mas podem optar por fazê-lo. Esse construtor é particularmente útil para testes de unidade em que o código de teste pode criar um Grain e substituir iGrainIdentity, IGrainRuntime e State por duplos de teste (simulações/stubs).

Grain<TGrainState>(IGrainIdentity, IGrainRuntime, TGrainState, IStorage)

Os implementadores de grãos NÃO precisam expor esse construtor, mas podem optar por fazê-lo. Esse construtor é particularmente útil para testes de unidade em que o código de teste pode criar um Grain e substituir iGrainIdentity, IGrainRuntime e State por duplos de teste (simulações/stubs).

Grain<TGrainState>(IStorage<TGrainState>)

Inicializa uma nova instância da classe Grain<TGrainState>.

Propriedades

GrainContext

Classe base para um Grain com estado persistente declarado.

(Herdado de Grain)
GrainFactory

Obtém um objeto que pode ser usado para acessar outros grãos. Nulo se esse grão não estiver associado a um Runtime, como quando criado diretamente para teste de unidade.

(Herdado de Grain)
GrainReference

Classe base para um Grain com estado persistente declarado.

(Herdado de Grain)
IdentityString

Representação de cadeia de caracteres do SiloIdentity do grain, incluindo o tipo e a chave primária.

(Herdado de Grain)
RuntimeIdentity

Um identificador exclusivo para o silo atual. Não há conteúdo semântico nessa cadeia de caracteres, mas pode ser útil para registrar em log.

(Herdado de Grain)
ServiceProvider

Obtém o IServiceProvider gerenciado pelo runtime. Nulo se esse grão não estiver associado a um Runtime, como quando criado diretamente para teste de unidade.

(Herdado de Grain)
State

Obtém ou define o estado do grão.

Métodos

ClearStateAsync()

Limpa os dados atuais de estado de granulação do repositório de backup.

DeactivateOnIdle()

Desativar essa ativação do grão após a conclusão da chamada do método de grão atual. Essa chamada marcará essa ativação do grão atual a ser desativado e removido no final do método atual. A próxima chamada para esse grão resultará em uma ativação diferente a ser usada, o que normalmente significa que uma nova ativação será criada automaticamente pelo runtime.

(Herdado de Grain)
DelayDeactivation(TimeSpan)

Atrase a desativação dessa ativação pelo menos pela duração do tempo especificada. Um valor timeSpan positivo significa "impedir GC dessa ativação para esse período de tempo". Um valor de timeSpan negativo significa "cancelar a configuração anterior da chamada DelayDeactivation e fazer com que essa ativação se comporte com base nas configurações regulares de Coleta de Lixo de Ativação". O método DeactivateOnIdle desfazeria/substituiria qualquer configuração atual de "keep alive", tornando esse grão imediatamente disponível para desativação.

(Herdado de Grain)
GetLogger()

Retorna um objeto de agente que o código desse grão pode usar para rastreamento. O nome do agente será derivado do nome da classe grain.

(Herdado de Grain)
GetLogger(String)

Retorna um objeto de agente que o código desse grão pode usar para rastreamento.

(Herdado de Grain)
GetReminder(String)

Retorna um lembrete registrado anteriormente.

(Herdado de Grain)
GetReminders()

Retorna uma lista de todos os lembretes registrados pelo grão.

(Herdado de Grain)
GetStreamProvider(String)

Classe base para um Grain com estado persistente declarado.

(Herdado de Grain)
GetStreamProviders()

Classe base para um Grain com estado persistente declarado.

(Herdado de Grain)
MigrateOnIdle()

Inicia uma tentativa de migrar essa instância para outro local. A migração captura o RequestContextatual, disponibilizando-o para o diretor de posicionamento da ativação para que ele possa considerá-lo ao selecionar um novo local. A migração ocorrerá de forma assíncrona, quando nenhuma solicitação estiver em execução e não ocorrerá se o diretor de posicionamento da ativação não selecionar um local alternativo.

(Herdado de Grain)
OnActivateAsync()

Esse método é chamado no final do processo de ativação de um grão. Ele é chamado antes de qualquer mensagem ter sido enviada para o grão. Para grãos com estado persistente declarado, esse método é chamado depois que a propriedade State é preenchida.

(Herdado de Grain)
OnActivateAsync(CancellationToken)

Esse método é chamado no final do processo de ativação de um grão. Ele é chamado antes de qualquer mensagem ter sido enviada para o grão. Para grãos com estado persistente declarado, esse método é chamado depois que a propriedade State é preenchida.

(Herdado de Grain)
OnDeactivateAsync()

Esse método é chamado no início do processo de desativação de um grão.

(Herdado de Grain)
OnDeactivateAsync(DeactivationReason, CancellationToken)

Esse método é chamado no início do processo de desativação de um grão.

(Herdado de Grain)
Participate(IGrainLifecycle)

Classe base para um Grain com estado persistente declarado.

Participate(IGrainLifecycle)

Classe base para um Grain com estado persistente declarado.

(Herdado de Grain)
ReadStateAsync()

Lê o estado de grão do repositório de backup, atualizando State.

RegisterOrUpdateReminder(String, TimeSpan, TimeSpan)

Registra um lembrete persistente e confiável para enviar notificações regulares (lembretes) para o grão. O grão deve implementar a interface Orleans.IRemindable e os lembretes para esse grão serão enviados para o método de retorno de chamada ReceiveReminder. Se o grão atual for desativado quando o temporizador for acionado, uma nova ativação desse grão será criada para receber esse lembrete. Se já existir um lembrete existente com o mesmo nome, esse lembrete será substituído com esse novo lembrete. Lembretes sempre serão recebidos por uma ativação desse grão, mesmo que existam várias ativações para esse grão.

(Herdado de Grain)
RegisterTimer(Func<Object,Task>, Object, TimeSpan, TimeSpan)
Obsoleto.

Registra um temporizador para enviar retornos de chamada periódicos para esse grão.

(Herdado de Grain)
UnregisterReminder(IGrainReminder)

Cancela o registro de um lembrete registrado anteriormente.

(Herdado de Grain)
WriteStateAsync()

Escreva os dados de estado de granulação atuais no repositório de backup.

Implantações explícitas de interface

IGrainBase.GrainContext

Classe base para um Grain com estado persistente declarado.

(Herdado de Grain)

Métodos de Extensão

DeactivateOnIdle(IGrainBase)

Desativar essa ativação de grãos após a conclusão da chamada do método de grão atual. Essa chamada marcará essa ativação do grão atual a ser desativado e removido no final do método atual. A próxima chamada para esse grão resultará em uma ativação diferente a ser usada, o que normalmente significa que uma nova ativação será criada automaticamente pelo runtime.

MigrateOnIdle(IGrainBase)

Inicia uma tentativa de migrar essa instância para outro local. A migração captura o RequestContextatual, disponibilizando-o para o diretor de posicionamento da ativação para que ele possa considerá-lo ao selecionar um novo local. A migração ocorrerá de forma assíncrona, quando nenhuma solicitação estiver em execução e não ocorrerá se o diretor de posicionamento da ativação não selecionar um local alternativo.

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

Cria um temporizador de grãos.

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

Cria um temporizador de grãos.

RegisterGrainTimer(IGrainBase, Func<Task>, GrainTimerCreationOptions)

Classe base para um Grain com estado persistente declarado.

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

Cria um temporizador de grãos.

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

Cria um temporizador de grãos.

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

Cria um temporizador de grãos.

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

Classe base para um Grain com estado persistente declarado.

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

Cria um temporizador de grãos.

AsReference(IAddressable, Type)

Retorna uma referência tipada ao grão fornecido.

AsReference<TGrainInterface>(IAddressable)

Retorna uma referência tipada ao grão fornecido.

BindGrainReference(IAddressable, IGrainFactory)

Associa a referência de grão ao IGrainFactoryfornecido.

Cast(IAddressable, Type)

Retorna uma referência tipada ao grão fornecido.

Cast<TGrainInterface>(IAddressable)

Retorna uma referência tipada ao grão fornecido.

GetGrainId(IAddressable)

Retorna a ID de grão correspondente ao grão fornecido.

GetPrimaryKey(IAddressable)

Retorna a representação Guid de uma chave primária de grãos.

GetPrimaryKey(IAddressable, String)

Retorna a representação Guid de uma chave primária de grãos.

GetPrimaryKeyLong(IAddressable)

Retorna a representação long de uma chave primária de grãos.

GetPrimaryKeyLong(IAddressable, String)

Retorna a representação long de uma chave primária de grãos.

GetPrimaryKeyString(IAddressable)

Retorna a chave primária string do grão.

IsPrimaryKeyBasedOnLong(IAddressable)

Retorna se parte da chave primária é do tipo long.

GetReminder(Grain, String)

Retorna um lembrete registrado anteriormente.

GetReminder(IGrainBase, String)

Retorna um lembrete registrado anteriormente.

GetReminders(Grain)

Retorna uma lista de todos os lembretes registrados pelo grão.

GetReminders(IGrainBase)

Retorna uma lista de todos os lembretes registrados pelo grão.

RegisterOrUpdateReminder(Grain, String, TimeSpan, TimeSpan)

Registra um lembrete persistente e confiável para enviar notificações regulares (lembretes) para o grão. O grão deve implementar a interface Orleans.IRemindable e os lembretes para esse grão serão enviados para o método de retorno de chamada ReceiveReminder. Se o grão atual for desativado quando o temporizador for acionado, uma nova ativação desse grão será criada para receber esse lembrete. Se já existir um lembrete existente com o mesmo nome, esse lembrete será substituído com esse novo lembrete. Lembretes sempre serão recebidos por uma ativação desse grão, mesmo que existam várias ativações para esse grão.

RegisterOrUpdateReminder(IGrainBase, String, TimeSpan, TimeSpan)

Registra um lembrete persistente e confiável para enviar notificações regulares (lembretes) para o grão. O grão deve implementar a interface Orleans.IRemindable e os lembretes para esse grão serão enviados para o método de retorno de chamada ReceiveReminder. Se o grão atual for desativado quando o temporizador for acionado, uma nova ativação desse grão será criada para receber esse lembrete. Se já existir um lembrete existente com o mesmo nome, esse lembrete será substituído com esse novo lembrete. Lembretes sempre serão recebidos por uma ativação desse grão, mesmo que existam várias ativações para esse grão.

UnregisterReminder(Grain, IGrainReminder)

Cancela o registro de um lembrete registrado anteriormente.

UnregisterReminder(IGrainBase, IGrainReminder)

Cancela o registro de um lembrete registrado anteriormente.

GetStreamProvider(Grain, String)

Obtém o provedor de fluxo com o nameespecificado.

GetStreamProvider(IGrainBase, String)

Obtém o provedor de fluxo com o nameespecificado.

GetLogger(Grain)

Retorna um objeto de agente que o código desse grão pode usar para rastreamento. O nome do agente será derivado do nome da classe grain.

GetLogger(Grain, String)

Retorna um objeto de agente que o código desse grão pode usar para rastreamento.

GetGrainStorage(Grain, IServiceProvider)

Adquira o provedor de armazenamento associado ao tipo de grão.

Aplica-se a