JournaledGrain<TGrainState,TEventBase> Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Базовый класс для параметров, согласованных с журналами, с использованием стандартной терминологии для источников событий. Все операции защищены повторной отступом.
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)
Параметры типа
- TGrainState
Тип состояния зерна, т. е. статистическое представление журнала событий.
- TEventBase
Общий базовый класс для событий
- Наследование
- Наследование
- Наследование
- Производный
- Реализации
-
IGrain IConnectionIssueListener ILogConsistentGrain ILogViewAdaptorHost<TGrainState,TEventBase> ILogConsistencyProtocolParticipant IAddressable IConnectionIssueListener ILogConsistencyProtocolParticipant ILogViewAdaptorHost<TGrainState,TEventBase>
Конструкторы
JournaledGrain<TGrainState,TEventBase>() |
Инициализирует новый экземпляр класса JournaledGrain<TGrainState,TEventBase>. |
JournaledGrain<TGrainState,TEventBase>(IGrainIdentity, IGrainRuntime) |
Этот конструктор особенно полезен для модульного тестирования, где тестовый код может создать grain и заменить IGrainIdentity, IGrainRuntime и State двойными тестами (макеты и заглушки). |
Свойства
DefaultAdaptorFactory |
Если не указан поставщик согласованности журналов, сохраните состояние версии с помощью поставщика хранилища по умолчанию. |
GrainContext |
Базовый класс для параметров, согласованных с журналами, с использованием стандартной терминологии для источников событий. Все операции защищены повторной отступом. (Унаследовано от Grain) |
GrainFactory |
Получает объект, который можно использовать для доступа к другим зернам. Значение NULL, если это зерно не связано с средой выполнения, например при создании непосредственно для модульного тестирования. (Унаследовано от Grain) |
GrainReference |
Базовый класс для параметров, согласованных с журналами, с использованием стандартной терминологии для источников событий. Все операции защищены повторной отступом. (Унаследовано от Grain) |
IdentityString |
Строковое представление SiloIdentity зерна, включая тип и первичный ключ. (Унаследовано от Grain) |
RuntimeIdentity |
Уникальный идентификатор текущего сило. В этой строке нет семантического содержимого, но это может быть полезно для ведения журнала. (Унаследовано от Grain) |
ServiceProvider |
Возвращает IServiceProvider, управляемый средой выполнения. Значение NULL, если это зерно не связано с средой выполнения, например при создании непосредственно для модульного тестирования. (Унаследовано от Grain) |
State |
Возвращает текущее подтвержденное состояние. Включает только подтвержденные события. |
TentativeState |
Возвращает текущее предварительное состояние. Включает как подтвержденные, так и неподтвержденные события. |
UnconfirmedEvents |
Возвращает текущую очередь неподтвержденных событий. |
UnresolvedConnectionIssues |
Возвращает список всех проблем с подключением, которые в настоящее время не решены. |
Version |
Возвращает версию текущего подтвержденного состояния. Равно общему количеству подтвержденных событий. |
Методы
ConfirmEvents() |
Ожидает, пока все ранее поднятые события не были подтверждены. дождитесь этого после вызова одного или нескольких событий, чтобы обеспечить сохранение событий перед продолжением или обеспечить надежную согласованность (линейнейность), даже если существует несколько экземпляров этого зерна. |
DeactivateOnIdle() |
Деактивируйте эту активацию зерна после завершения текущего вызова метода зерна. Этот вызов помечает эту активацию текущего зерна, который будет деактивирован и удален в конце текущего метода. Следующий вызов этого зерна приведет к использованию другой активации, что обычно означает, что новая активация будет создана автоматически средой выполнения. (Унаследовано от Grain) |
DelayDeactivation(TimeSpan) |
Задержка деактивации этой активации по крайней мере в течение указанного периода времени.
Положительное значение |
DisableStatsCollection() |
Базовый класс для параметров, согласованных с журналами, с использованием стандартной терминологии для источников событий. Все операции защищены повторной отступом. |
EnableStatsCollection() |
Базовый класс для параметров, согласованных с журналами, с использованием стандартной терминологии для источников событий. Все операции защищены повторной отступом. |
GetLogger() |
Возвращает объект средства ведения журнала, который код этого зерна может использовать для трассировки. Имя средства ведения журнала будет производным от имени класса зерна. (Унаследовано от Grain) |
GetLogger(String) |
Возвращает объект средства ведения журнала, который код этого зерна может использовать для трассировки. (Унаследовано от Grain) |
GetReminder(String) |
Возвращает ранее зарегистрированное напоминание. (Унаследовано от Grain) |
GetReminders() |
Возвращает список всех напоминаний, зарегистрированных зерном. (Унаследовано от Grain) |
GetStats() |
Базовый класс для параметров, согласованных с журналами, с использованием стандартной терминологии для источников событий. Все операции защищены повторной отступом. |
GetStreamProvider(String) |
Базовый класс для параметров, согласованных с журналами, с использованием стандартной терминологии для источников событий. Все операции защищены повторной отступом. (Унаследовано от Grain) |
GetStreamProviders() |
Базовый класс для параметров, согласованных с журналами, с использованием стандартной терминологии для источников событий. Все операции защищены повторной отступом. (Унаследовано от Grain) |
InstallAdaptor(ILogViewAdaptorFactory, Object, String, IGrainStorage, ILogConsistencyProtocolServices) |
Вызывается сразу после создания зерна, чтобы установить адаптер. Поставщик согласованности журналов содержит метод фабрики, который создает адаптер с выбранными типами для этого зерна. |
InstallAdaptor(ILogViewAdaptorFactory, Object, String, IGrainStorage, ILogConsistencyProtocolServices) |
Вызывается сразу после создания зерна, чтобы установить адаптер. Поставщик согласованности журналов содержит метод фабрики, который создает адаптер с выбранными типами для этого зерна. |
MigrateOnIdle() |
Запускает попытку переноса этого экземпляра в другое расположение. Миграция фиксирует текущую RequestContext, что делает его доступным для директора размещения активации, чтобы он смог рассмотреть его при выборе нового расположения. Миграция будет выполняться асинхронно, если запросы не выполняются, и не произойдет, если директор размещения активации не выбирает альтернативное расположение. (Унаследовано от Grain) |
OnActivateAsync() |
По умолчанию после активации журнальное зерно ожидает, пока он не загрузит последнее представление из хранилища. Подклассы могут переопределить это поведение и пропустить ожидание при необходимости. |
OnActivateAsync() |
Этот метод вызывается в конце процесса активации зерна. Он вызывается до отправки сообщений в зерно. Для зерна с объявленным постоянным состоянием этот метод вызывается после заполнения свойства State. (Унаследовано от Grain) |
OnActivateAsync(CancellationToken) |
По умолчанию после активации журнальное зерно ожидает, пока он не загрузит последнее представление из хранилища. Подклассы могут переопределить это поведение и пропустить ожидание при необходимости. |
OnActivateAsync(CancellationToken) |
Этот метод вызывается в конце процесса активации зерна. Он вызывается до отправки сообщений в зерно. Для зерна с объявленным постоянным состоянием этот метод вызывается после заполнения свойства State. (Унаследовано от Grain) |
OnConnectionIssue(ConnectionIssue) |
Вызывается, когда базовый протокол сохраняемости или репликации возникает в некоторых проблемах подключения. Переопределите это для отслеживания работоспособности протокола согласованности журналов и (или) настройки задержек повторных попыток. Все создаваемые исключения перехватываются и регистрируются ILogViewAdaptorFactory. |
OnConnectionIssue(ConnectionIssue) |
Вызывается, когда базовый протокол сохраняемости или репликации возникает в некоторых проблемах подключения. Переопределите это для отслеживания работоспособности протокола согласованности журналов и (или) настройки задержек повторных попыток. Все создаваемые исключения перехватываются и регистрируются ILogConsistencyProvider. |
OnConnectionIssueResolved(ConnectionIssue) |
Вызывается при устранении ранее сообщаемой проблемы подключения. Переопределите это, чтобы отслеживать работоспособность протокола согласованности журналов. Все создаваемые исключения перехватываются и регистрируются ILogConsistencyProvider. |
OnConnectionIssueResolved(ConnectionIssue) |
Вызывается при устранении ранее сообщаемой проблемы подключения. Переопределите это, чтобы отслеживать работоспособность протокола согласованности журналов. Все создаваемые исключения перехватываются и регистрируются ILogViewAdaptorFactory. |
OnDeactivateAsync() |
Этот метод вызывается в начале процесса деактивации зерна. (Унаследовано от Grain) |
OnDeactivateAsync(DeactivationReason, CancellationToken) |
Этот метод вызывается в начале процесса деактивации зерна. (Унаследовано от Grain) |
OnStateChanged() |
Вызывается после изменения подтвержденного состояния (т. е. подтвержденного номера версии больше). Переопределите это, чтобы реагировать на изменения подтвержденного состояния. |
OnTentativeStateChanged() |
Вызывается всякий раз, когда предварительное состояние может измениться из-за локальных или удаленных событий. Переопределите это, чтобы реагировать на изменения состояния. |
Participate(IGrainLifecycle) |
Базовый класс для параметров, согласованных с журналами, с использованием стандартной терминологии для источников событий. Все операции защищены повторной отступом. (Унаследовано от Grain) |
Participate(IGrainLifecycle) |
Базовый класс для параметров, согласованных с журналами, с использованием стандартной терминологии для источников событий. Все операции защищены повторной отступом. (Унаследовано от LogConsistentGrain<TView>) |
Participate(IGrainLifecycle) |
Базовый класс для параметров, согласованных с журналами, с использованием стандартной терминологии для источников событий. Все операции защищены повторной отступом. (Унаследовано от LogConsistentGrain<TView>) |
RaiseConditionalEvent<TEvent>(TEvent) |
Условное создание события. Выполняется только в том случае, если нет конфликтов, то есть никакие другие события не были вызваны в то же время. |
RaiseConditionalEvents<TEvent>(IEnumerable<TEvent>) |
Вызывает несколько событий, как атомарную последовательность, условно. Выполняется только в том случае, если нет конфликтов, то есть никакие другие события не были вызваны в то же время. |
RaiseEvent<TEvent>(TEvent) |
Вызывает событие. |
RaiseEvents<TEvent>(IEnumerable<TEvent>) |
Вызов нескольких событий в виде атомарной последовательности. |
RefreshNow() |
Извлекает последнее состояние и подтверждает все ранее созданные события. Фактически это обеспечивает синхронизацию с глобальным состоянием. Дождитесь этого перед чтением состояния, чтобы обеспечить строжную согласованность (линейная доступность) даже в нескольких экземплярах этого зерна. |
RegisterOrUpdateReminder(String, TimeSpan, TimeSpan) |
Регистрирует постоянное, надежное напоминание для отправки регулярных уведомлений (напоминаний) на зерно.
Зерно должно реализовать интерфейс |
RegisterTimer(Func<Object,Task>, Object, TimeSpan, TimeSpan) |
Устаревшие..
Регистрирует таймер для отправки периодических обратных вызовов в это зерно. (Унаследовано от Grain) |
RetrieveConfirmedEvents(Int32, Int32) |
Извлекает сегмент подтвержденной последовательности событий, возможно, из хранилища. Вызывает NotSupportedException, если события недоступны для чтения. Доступны ли события и насколько долго они зависят от используемых поставщиков и способа их настройки. |
TransitionState(TGrainState, TEventBase) |
Определяет, как применять события к состоянию. Если она не переопределяется в подклассе, она вызывает динамическую функцию Apply в состоянии с событием в качестве параметра. Все исключения, создаваемые этим методом, перехватываются и регистрируются поставщиком представления журнала. Переопределите эту настройку, чтобы настроить переход состояния для данного события. |
UnregisterReminder(IGrainReminder) |
Отменяет регистрацию ранее зарегистрированного напоминания. (Унаследовано от Grain) |
Явные реализации интерфейса
IConnectionIssueListener.OnConnectionIssue(ConnectionIssue) |
вызывается адаптером по проблемам подключения. |
IConnectionIssueListener.OnConnectionIssue(ConnectionIssue) |
вызывается адаптером по проблемам подключения. |
IConnectionIssueListener.OnConnectionIssueResolved(ConnectionIssue) |
Вызывается адаптером при устранении проблемы с подключением. |
IConnectionIssueListener.OnConnectionIssueResolved(ConnectionIssue) |
вызывается адаптером при устранении проблемы с подключением. |
IGrainBase.GrainContext |
Базовый класс для параметров, согласованных с журналами, с использованием стандартной терминологии для источников событий. Все операции защищены повторной отступом. (Унаследовано от Grain) |
ILogConsistencyProtocolParticipant.DeactivateProtocolParticipant() |
Уведомление адаптера представления журнала об деактивации |
ILogConsistencyProtocolParticipant.DeactivateProtocolParticipant() |
Уведомление адаптера представления журнала об деактивации |
ILogConsistencyProtocolParticipant.OnMultiClusterConfigurationChange(MultiClusterConfiguration) |
Получите изменение конфигурации, передайте его в адаптер представления журнала. |
ILogConsistencyProtocolParticipant.OnProtocolMessageReceived(ILogConsistencyProtocolMessage) |
Получение сообщения протокола от других кластеров, переданное адаптеру представления журнала. |
ILogConsistencyProtocolParticipant.PostActivateProtocolParticipant() |
Уведомлять адаптер представления журнала активации (вызывается после активации на уровне пользователя) |
ILogConsistencyProtocolParticipant.PostActivateProtocolParticipant() |
Уведомлять адаптер представления журнала активации (вызывается после активации на уровне пользователя) |
ILogConsistencyProtocolParticipant.PreActivateProtocolParticipant() |
Уведомлять адаптер представления журнала активации (вызывается до активации на уровне пользователя) |
ILogConsistencyProtocolParticipant.PreActivateProtocolParticipant() |
Уведомлять адаптер представления журнала активации (вызывается до активации на уровне пользователя) |
ILogConsistentGrain.DefaultAdaptorFactory |
Если не указан поставщик согласованности журналов, сохраните состояние версии с помощью поставщика хранилища по умолчанию. |
ILogConsistentGrain.InstallAdaptor(ILogViewAdaptorFactory, Object, String, IStorageProvider, ILogConsistencyProtocolServices) |
Вызывается сразу после создания зерна, чтобы установить адаптер. Поставщик согласованности журналов содержит метод фабрики, который создает адаптер с выбранными типами для этого зерна. |
ILogViewAdaptorHost<TGrainState,TEventBase>.OnViewChanged(Boolean, Boolean) |
Вызывается адаптером при изменении состояния. |
ILogViewAdaptorHost<TGrainState,TEventBase>.OnViewChanged(Boolean, Boolean) |
вызывается адаптером при изменении состояния. |
ILogViewAdaptorHost<TGrainState,TEventBase>.UpdateView(TGrainState, TEventBase) |
Вызывается адаптером для обновления представления при добавлении записей. |
ILogViewAdaptorHost<TGrainState,TEventBase>.UpdateView(TGrainState, TEventBase) |
вызывается адаптером для обновления представления при добавлении записей. |
Методы расширения
DeactivateOnIdle(IGrainBase) |
Деактивируйте эту активацию зерна после завершения текущего вызова метода зерна. Этот вызов помечает эту активацию текущего зерна, который будет деактивирован и удален в конце текущего метода. Следующий вызов этого зерна приведет к использованию другой активации, что обычно означает, что новая активация будет создана автоматически средой выполнения. |
MigrateOnIdle(IGrainBase) |
Запускает попытку переноса этого экземпляра в другое расположение. Миграция фиксирует текущую RequestContext, что делает его доступным для директора размещения активации, чтобы он смог рассмотреть его при выборе нового расположения. Миграция будет выполняться асинхронно, если запросы не выполняются, и не произойдет, если директор размещения активации не выбирает альтернативное расположение. |
RegisterGrainTimer(IGrainBase, Func<CancellationToken,Task>, GrainTimerCreationOptions) |
Создает таймер зерна. |
RegisterGrainTimer(IGrainBase, Func<CancellationToken,Task>, TimeSpan, TimeSpan) |
Создает таймер зерна. |
RegisterGrainTimer(IGrainBase, Func<Task>, GrainTimerCreationOptions) |
Базовый класс для параметров, согласованных с журналами, с использованием стандартной терминологии для источников событий. Все операции защищены повторной отступом. |
RegisterGrainTimer(IGrainBase, Func<Task>, TimeSpan, TimeSpan) |
Создает таймер зерна. |
RegisterGrainTimer<TState>(IGrainBase, Func<TState,CancellationToken,Task>, TState, GrainTimerCreationOptions) |
Создает таймер зерна. |
RegisterGrainTimer<TState>(IGrainBase, Func<TState,CancellationToken,Task>, TState, TimeSpan, TimeSpan) |
Создает таймер зерна. |
RegisterGrainTimer<TState>(IGrainBase, Func<TState,Task>, TState, GrainTimerCreationOptions) |
Базовый класс для параметров, согласованных с журналами, с использованием стандартной терминологии для источников событий. Все операции защищены повторной отступом. |
RegisterGrainTimer<TState>(IGrainBase, Func<TState,Task>, TState, TimeSpan, TimeSpan) |
Создает таймер зерна. |
AsReference(IAddressable, Type) |
Возвращает типизированные ссылки на предоставленное зерно. |
AsReference<TGrainInterface>(IAddressable) |
Возвращает типизированные ссылки на предоставленное зерно. |
BindGrainReference(IAddressable, IGrainFactory) |
Привязывает ссылку на зерно к предоставленному IGrainFactory. |
Cast(IAddressable, Type) |
Возвращает типизированные ссылки на предоставленное зерно. |
Cast<TGrainInterface>(IAddressable) |
Возвращает типизированные ссылки на предоставленное зерно. |
GetGrainId(IAddressable) |
Возвращает идентификатор зерна, соответствующий предоставленному зерне. |
GetGrainIdentity(IGrain) |
Базовый класс для параметров, согласованных с журналами, с использованием стандартной терминологии для источников событий. Все операции защищены повторной отступом. |
GetPrimaryKey(IGrain) |
Базовый класс для параметров, согласованных с журналами, с использованием стандартной терминологии для источников событий. Все операции защищены повторной отступом. |
GetPrimaryKey(IGrain, String) |
Базовый класс для параметров, согласованных с журналами, с использованием стандартной терминологии для источников событий. Все операции защищены повторной отступом. |
GetPrimaryKey(IAddressable) |
Возвращает Guid представление первичного ключа зерна. |
GetPrimaryKey(IAddressable, String) |
Возвращает Guid представление первичного ключа зерна. |
GetPrimaryKeyLong(IGrain) |
Базовый класс для параметров, согласованных с журналами, с использованием стандартной терминологии для источников событий. Все операции защищены повторной отступом. |
GetPrimaryKeyLong(IGrain, String) |
Базовый класс для параметров, согласованных с журналами, с использованием стандартной терминологии для источников событий. Все операции защищены повторной отступом. |
GetPrimaryKeyLong(IAddressable) |
Возвращает |
GetPrimaryKeyLong(IAddressable, String) |
Возвращает |
GetPrimaryKeyString(IAddressable) |
Возвращает первичный ключ |
IsPrimaryKeyBasedOnLong(IAddressable) |
Возвращает, является ли часть первичного ключа типом |
GetReminder(Grain, String) |
Возвращает ранее зарегистрированное напоминание. |
GetReminder(IGrainBase, String) |
Возвращает ранее зарегистрированное напоминание. |
GetReminders(Grain) |
Возвращает список всех напоминаний, зарегистрированных зерном. |
GetReminders(IGrainBase) |
Возвращает список всех напоминаний, зарегистрированных зерном. |
RegisterOrUpdateReminder(Grain, String, TimeSpan, TimeSpan) |
Регистрирует постоянное, надежное напоминание для отправки регулярных уведомлений (напоминаний) на зерно.
Зерно должно реализовать интерфейс |
RegisterOrUpdateReminder(IGrainBase, String, TimeSpan, TimeSpan) |
Регистрирует постоянное, надежное напоминание для отправки регулярных уведомлений (напоминаний) на зерно.
Зерно должно реализовать интерфейс |
UnregisterReminder(Grain, IGrainReminder) |
Отменяет регистрацию ранее зарегистрированного напоминания. |
UnregisterReminder(IGrainBase, IGrainReminder) |
Отменяет регистрацию ранее зарегистрированного напоминания. |
GetStreamProvider(Grain, String) |
Возвращает поставщик потоков с указанным |
GetStreamProvider(IGrainBase, String) |
Возвращает поставщик потоков с указанным |
GetLogger(Grain) |
Возвращает объект средства ведения журнала, который код этого зерна может использовать для трассировки. Имя средства ведения журнала будет производным от имени класса зерна. |
GetLogger(Grain, String) |
Возвращает объект средства ведения журнала, который код этого зерна может использовать для трассировки. |
GetGrainStorage(Grain, IServiceProvider) |
Получение поставщика хранилища, связанного с типом зерна. |