JournaledGrain<TGrainState,TEventBase> 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.
Uma classe base para grãos consistentes com logs usando a terminologia de fornecimento de eventos padrão. Todas as operações são reentração segura.
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
O tipo do estado de granulação, ou seja, a exibição agregada do log de eventos.
- TEventBase
A classe base comum para os eventos
- Herança
- Herança
- Herança
- Derivado
- Implementações
-
IGrain IConnectionIssueListener ILogConsistentGrain ILogViewAdaptorHost<TGrainState,TEventBase> ILogConsistencyProtocolParticipant IAddressable IConnectionIssueListener ILogConsistencyProtocolParticipant ILogViewAdaptorHost<TGrainState,TEventBase>
Construtores
JournaledGrain<TGrainState,TEventBase>() |
Inicializa uma nova instância da classe JournaledGrain<TGrainState,TEventBase>. |
JournaledGrain<TGrainState,TEventBase>(IGrainIdentity, IGrainRuntime) |
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). |
Propriedades
DefaultAdaptorFactory |
Se não houver nenhum provedor de consistência de log especificado, armazene o estado com versão usando o provedor de armazenamento padrão |
GrainContext |
Uma classe base para grãos consistentes com logs usando a terminologia de fornecimento de eventos padrão. Todas as operações são reentração segura. (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 |
Uma classe base para grãos consistentes com logs usando a terminologia de fornecimento de eventos padrão. Todas as operações são reentração segura. (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 o estado confirmado atual. Inclui apenas eventos confirmados. |
TentativeState |
Obtém o estado provisório atual. Inclui eventos confirmados e não confirmados. |
UnconfirmedEvents |
Retorna a fila atual de eventos não confirmados. |
UnresolvedConnectionIssues |
Obtém uma lista de todos os problemas de conexão não resolvidos no momento. |
Version |
Obtém a versão do estado confirmado atual. É igual ao número total de eventos confirmados. |
Métodos
ConfirmEvents() |
Aguarda até que todos os eventos já levantados tenham sido confirmados. aguarde isso depois de gerar um ou mais eventos, para garantir que os eventos sejam persistidos antes de prosseguir ou para garantir uma consistência forte (linearizabilidade), mesmo que haja várias instâncias desse grão |
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 |
DisableStatsCollection() |
Uma classe base para grãos consistentes com logs usando a terminologia de fornecimento de eventos padrão. Todas as operações são reentração segura. |
EnableStatsCollection() |
Uma classe base para grãos consistentes com logs usando a terminologia de fornecimento de eventos padrão. Todas as operações são reentração segura. |
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) |
GetStats() |
Uma classe base para grãos consistentes com logs usando a terminologia de fornecimento de eventos padrão. Todas as operações são reentração segura. |
GetStreamProvider(String) |
Uma classe base para grãos consistentes com logs usando a terminologia de fornecimento de eventos padrão. Todas as operações são reentração segura. (Herdado de Grain) |
GetStreamProviders() |
Uma classe base para grãos consistentes com logs usando a terminologia de fornecimento de eventos padrão. Todas as operações são reentração segura. (Herdado de Grain) |
InstallAdaptor(ILogViewAdaptorFactory, Object, String, IGrainStorage, ILogConsistencyProtocolServices) |
Chamado logo após a construção do grão, para instalar o adaptador. O provedor de consistência de log contém um método de fábrica que constrói o adaptador com tipos escolhidos para esse grão |
InstallAdaptor(ILogViewAdaptorFactory, Object, String, IGrainStorage, ILogConsistencyProtocolServices) |
Chamado logo após a construção do grão, para instalar o adaptador. O provedor de consistência de log contém um método de fábrica que constrói o adaptador com tipos escolhidos para esse grão |
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() |
Por padrão, após a ativação, o grão diário aguarda até carregar a exibição mais recente do armazenamento. As subclasses podem substituir esse comportamento e ignorar a espera, se desejado. |
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) |
Por padrão, após a ativação, o grão diário aguarda até carregar a exibição mais recente do armazenamento. As subclasses podem substituir esse comportamento e ignorar a espera, se desejado. |
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) |
OnConnectionIssue(ConnectionIssue) |
Chamado quando o protocolo de persistência ou replicação subjacente está em algum tipo de problema de conexão. Substitua isso para monitorar a integridade do protocolo de consistência de log e/ou para personalizar atrasos de repetição. Todas as exceções geradas são capturadas e registradas pelo ILogViewAdaptorFactory. |
OnConnectionIssue(ConnectionIssue) |
Chamado quando o protocolo de persistência ou replicação subjacente está em algum tipo de problema de conexão. Substitua isso para monitorar a integridade do protocolo de consistência de log e/ou para personalizar atrasos de repetição. Todas as exceções geradas são capturadas e registradas pelo ILogConsistencyProvider. |
OnConnectionIssueResolved(ConnectionIssue) |
Chamado quando um problema de conexão relatado anteriormente foi resolvido. Substitua isso para monitorar a integridade do protocolo de consistência de log. Todas as exceções geradas são capturadas e registradas pelo ILogConsistencyProvider. |
OnConnectionIssueResolved(ConnectionIssue) |
Chamado quando um problema de conexão relatado anteriormente foi resolvido. Substitua isso para monitorar a integridade do protocolo de consistência de log. Todas as exceções geradas são capturadas e registradas pelo ILogViewAdaptorFactory. |
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) |
OnStateChanged() |
Chamado depois que o estado confirmado pode ter sido alterado (ou seja, o número de versão confirmado é maior). Substitua isso para reagir às alterações do estado confirmado. |
OnTentativeStateChanged() |
Chamado sempre que o estado provisório pode ter sido alterado devido a eventos locais ou remotos. Substitua isso para reagir às alterações do estado. |
Participate(IGrainLifecycle) |
Uma classe base para grãos consistentes com logs usando a terminologia de fornecimento de eventos padrão. Todas as operações são reentração segura. (Herdado de Grain) |
Participate(IGrainLifecycle) |
Uma classe base para grãos consistentes com logs usando a terminologia de fornecimento de eventos padrão. Todas as operações são reentração segura. (Herdado de LogConsistentGrain<TView>) |
Participate(IGrainLifecycle) |
Uma classe base para grãos consistentes com logs usando a terminologia de fornecimento de eventos padrão. Todas as operações são reentração segura. (Herdado de LogConsistentGrain<TView>) |
RaiseConditionalEvent<TEvent>(TEvent) |
Gerar um evento condicionalmente. Só terá êxito se não houver conflitos, ou seja, nenhum outro evento foi gerado enquanto isso. |
RaiseConditionalEvents<TEvent>(IEnumerable<TEvent>) |
Gerar vários eventos, como uma sequência atômica, condicionalmente. Só terá êxito se não houver conflitos, ou seja, nenhum outro evento foi gerado enquanto isso. |
RaiseEvent<TEvent>(TEvent) |
Gera um evento. |
RaiseEvents<TEvent>(IEnumerable<TEvent>) |
Gerar vários eventos, como uma sequência atômica. |
RefreshNow() |
Recupera o estado mais recente agora e confirma todos os eventos gerados anteriormente. Efetivamente, isso impõe a sincronização com o estado global. Aguarde isso antes de ler o estado para garantir uma consistência forte (linearizabilidade) mesmo que haja várias instâncias desse grão |
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. (Herdado de Grain) |
RetrieveConfirmedEvents(Int32, Int32) |
Recupera um segmento da sequência de eventos confirmada, possivelmente do armazenamento. Gerará NotSupportedException se os eventos não estiverem disponíveis para leitura. Se os eventos estão disponíveis e por quanto tempo, dependem dos provedores usados e de como eles são configurados. |
TransitionState(TGrainState, TEventBase) |
Define como aplicar eventos ao estado. A menos que seja substituído na subclasse, ele chama uma função "Apply" dinâmica no estado, com o evento como um parâmetro. Todas as exceções geradas por esse método são capturadas e registradas pelo provedor de exibição de log. Substitua isso para personalizar como fazer a transição do estado para um determinado evento. |
UnregisterReminder(IGrainReminder) |
Cancela o registro de um lembrete registrado anteriormente. (Herdado de Grain) |
Implantações explícitas de interface
IConnectionIssueListener.OnConnectionIssue(ConnectionIssue) |
chamado pelo adaptador em problemas de conexão. |
IConnectionIssueListener.OnConnectionIssue(ConnectionIssue) |
chamado pelo adaptador em problemas de conexão. |
IConnectionIssueListener.OnConnectionIssueResolved(ConnectionIssue) |
Chamado pelo adaptador quando um problema de conexão é resolvido. |
IConnectionIssueListener.OnConnectionIssueResolved(ConnectionIssue) |
chamado pelo adaptador quando um problema de conexão é resolvido. |
IGrainBase.GrainContext |
Uma classe base para grãos consistentes com logs usando a terminologia de fornecimento de eventos padrão. Todas as operações são reentração segura. (Herdado de Grain) |
ILogConsistencyProtocolParticipant.DeactivateProtocolParticipant() |
Notificar o adaptador de desativação do modo de exibição de log |
ILogConsistencyProtocolParticipant.DeactivateProtocolParticipant() |
Notificar o adaptador de desativação do modo de exibição de log |
ILogConsistencyProtocolParticipant.OnMultiClusterConfigurationChange(MultiClusterConfiguration) |
Receba uma alteração de configuração, passe para o adaptador de exibição de log. |
ILogConsistencyProtocolParticipant.OnProtocolMessageReceived(ILogConsistencyProtocolMessage) |
Receba uma mensagem de protocolo de outros clusters, passada para o adaptador de exibição de log. |
ILogConsistencyProtocolParticipant.PostActivateProtocolParticipant() |
Notificar o adaptador de ativação do modo de exibição de log (chamado após OnActivate no nível do usuário) |
ILogConsistencyProtocolParticipant.PostActivateProtocolParticipant() |
Notificar o adaptador de ativação do modo de exibição de log (chamado após OnActivate no nível do usuário) |
ILogConsistencyProtocolParticipant.PreActivateProtocolParticipant() |
Notificar o adaptador de ativação do modo de exibição de log (chamado antes de OnActivate no nível do usuário) |
ILogConsistencyProtocolParticipant.PreActivateProtocolParticipant() |
Notificar o adaptador de ativação do modo de exibição de log (chamado antes de OnActivate no nível do usuário) |
ILogConsistentGrain.DefaultAdaptorFactory |
Se não houver nenhum provedor de consistência de log especificado, armazene o estado com versão usando o provedor de armazenamento padrão |
ILogConsistentGrain.InstallAdaptor(ILogViewAdaptorFactory, Object, String, IStorageProvider, ILogConsistencyProtocolServices) |
Chamado logo após a construção do grão, para instalar o adaptador. O provedor de consistência de log contém um método de fábrica que constrói o adaptador com tipos escolhidos para esse grão |
ILogViewAdaptorHost<TGrainState,TEventBase>.OnViewChanged(Boolean, Boolean) |
Chamado pelo adaptador na alteração de estado. |
ILogViewAdaptorHost<TGrainState,TEventBase>.OnViewChanged(Boolean, Boolean) |
chamado pelo adaptador na alteração de estado. |
ILogViewAdaptorHost<TGrainState,TEventBase>.UpdateView(TGrainState, TEventBase) |
Chamado pelo adaptador para atualizar o modo de exibição quando as entradas são acrescentadas. |
ILogViewAdaptorHost<TGrainState,TEventBase>.UpdateView(TGrainState, TEventBase) |
chamado pelo adaptador para atualizar o modo de exibição quando as entradas são acrescentadas. |
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) |
Uma classe base para grãos consistentes com logs usando a terminologia de fornecimento de eventos padrão. Todas as operações são reentração segura. |
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) |
Uma classe base para grãos consistentes com logs usando a terminologia de fornecimento de eventos padrão. Todas as operações são reentração segura. |
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. |
GetGrainIdentity(IGrain) |
Uma classe base para grãos consistentes com logs usando a terminologia de fornecimento de eventos padrão. Todas as operações são reentração segura. |
GetPrimaryKey(IGrain) |
Uma classe base para grãos consistentes com logs usando a terminologia de fornecimento de eventos padrão. Todas as operações são reentração segura. |
GetPrimaryKey(IGrain, String) |
Uma classe base para grãos consistentes com logs usando a terminologia de fornecimento de eventos padrão. Todas as operações são reentração segura. |
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(IGrain) |
Uma classe base para grãos consistentes com logs usando a terminologia de fornecimento de eventos padrão. Todas as operações são reentração segura. |
GetPrimaryKeyLong(IGrain, String) |
Uma classe base para grãos consistentes com logs usando a terminologia de fornecimento de eventos padrão. Todas as operações são reentração segura. |
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. |