Grain Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
A classe base abstrata para todas as classes de grãos.
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
- Herança
-
Grain
- Derivado
- Implementações
Construtores
Grain() |
Esse construtor nunca deve ser invocado. Nós o expõemos para que o código do cliente (subclasses de Grain) não precise adicionar um construtor. O código do cliente deve usar a propriedade GrainFactory para obter uma referência a um Grain. |
Grain(IGrainContext, IGrainRuntime) |
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 e IGrainRuntime por duplos de teste (mocks/stubs). |
Grain(IGrainIdentity, IGrainRuntime) |
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 e IGrainRuntime por duplos de teste (mocks/stubs). |
Propriedades
GrainContext |
A classe base abstrata para todas as classes de grãos. |
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. |
GrainReference |
A classe base abstrata para todas as classes de grãos. |
IdentityString |
Representação de cadeia de caracteres do SiloIdentity do grain, incluindo o tipo e a chave primária. |
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. |
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. |
Métodos
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. |
DelayDeactivation(TimeSpan) |
Atrase a desativação dessa ativação pelo menos pela duração do tempo especificada.
Um valor |
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. |
GetLogger(String) |
Retorna um objeto de agente que o código desse grão pode usar para rastreamento. |
GetReminder(String) |
Retorna um lembrete registrado anteriormente. |
GetReminders() |
Retorna uma lista de todos os lembretes registrados pelo grão. |
GetStreamProvider(String) |
A classe base abstrata para todas as classes de grãos. |
GetStreamProviders() |
A classe base abstrata para todas as classes de grãos. |
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. |
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. |
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. |
OnDeactivateAsync() |
Esse método é chamado no início do processo de desativação de um grão. |
OnDeactivateAsync(DeactivationReason, CancellationToken) |
Esse método é chamado no início do processo de desativação de um grão. |
Participate(IGrainLifecycle) |
A classe base abstrata para todas as classes de grãos. |
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 |
RegisterTimer(Func<Object,Task>, Object, TimeSpan, TimeSpan) |
Obsoleto.
Registra um temporizador para enviar retornos de chamada periódicos para esse grão. |
UnregisterReminder(IGrainReminder) |
Cancela o registro de um lembrete registrado anteriormente. |
Implantações explícitas de interface
IGrainBase.GrainContext |
A classe base abstrata para todas as classes de grãos. |
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) |
A classe base abstrata para todas as classes de grãos. |
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) |
A classe base abstrata para todas as classes de grãos. |
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 |
GetPrimaryKeyLong(IAddressable, String) |
Retorna a representação |
GetPrimaryKeyString(IAddressable) |
Retorna a chave primária |
IsPrimaryKeyBasedOnLong(IAddressable) |
Retorna se parte da chave primária é do tipo |
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 |
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 |
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 |
GetStreamProvider(IGrainBase, String) |
Obtém o provedor de fluxo com o |
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. |