Grain Класс

Определение

Абстрактный базовый класс для всех классов grain.

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
Наследование
Grain
Производный
Реализации

Конструкторы

Grain()

Этот конструктор никогда не должен вызываться. Мы предлагаем его, чтобы клиентский код (подклассы Grain) не добавлял конструктор. Клиентский код должен использовать свойство GrainFactory для получения ссылки на Grain.

Grain(IGrainContext, IGrainRuntime)

Средства реализации grain не должны предоставлять этот конструктор, но могут сделать это. Этот конструктор особенно полезен для модульного тестирования, где тестовый код может создать Grain и заменить IGrainIdentity и IGrainRuntime на тестовые двойники (макеты или заглушки).

Grain(IGrainIdentity, IGrainRuntime)

Средства реализации grain не должны предоставлять этот конструктор, но могут сделать это. Этот конструктор особенно полезен для модульного тестирования, где тестовый код может создать Grain и заменить IGrainIdentity и IGrainRuntime на тестовые двойники (макеты или заглушки).

Свойства

GrainFactory

Возвращает объект , который может использоваться для доступа к другим объектам grain. Значение NULL, если эта грань не связана со средой выполнения, например при создании непосредственно для модульного тестирования.

GrainReference

Абстрактный базовый класс для всех классов grain.

IdentityString

Строковое представление SiloIdentity grain, включая тип и первичный ключ.

RuntimeIdentity

Уникальный идентификатор текущего объекта silo. Эта строка не содержит семантического содержимого, но она может быть полезна для ведения журнала.

ServiceProvider

Возвращает IServiceProvider, управляемый средой выполнения. Значение NULL, если эта грань не связана со средой выполнения, например при создании непосредственно для модульного тестирования.

Методы

DeactivateOnIdle()

Отключите эту активацию grain после завершения вызова текущего метода grain. Этот вызов помечает эту активацию текущего элемента grain, который будет деактивирован и удален в конце текущего метода. При следующем вызове этого объекта grain будет использоваться другая активация, что обычно означает, что новая активация будет автоматически создана средой выполнения.

DelayDeactivation(TimeSpan)

Отложите деактивацию этой активации по крайней мере на указанный период времени. Положительное timeSpan значение означает "запретить сборку сборки этой активации для этого интервала времени". Отрицательное timeSpan значение означает "отмените предыдущий параметр вызова DelayDeactivation и сделайте такую активацию в соответствии с обычными параметрами сборки мусора активации". Метод DeactivateOnIdle отменяет или переопределяет любой текущий параметр "поддерживать работоспособность", что делает этот элемент сразу же доступным для деактивации.

GetLogger()

Возвращает объект средства ведения журнала, который этот код может использовать для трассировки. Имя средства ведения журнала будет производным от имени класса grain.

GetLogger(String)

Возвращает объект средства ведения журнала, который этот код может использовать для трассировки.

GetReminder(String)

Возвращает ранее зарегистрированное напоминание.

GetReminders()

Возвращает список всех напоминаний, зарегистрированных элементом grain.

GetStreamProvider(String)

Абстрактный базовый класс для всех классов grain.

GetStreamProviders()

Абстрактный базовый класс для всех классов grain.

MigrateOnIdle()

Запускает попытку переноса этого экземпляра в другое расположение. Миграция фиксирует текущий RequestContextобъект , делая его доступным для директора размещения активации, чтобы он смог рассмотреть его при выборе нового расположения. Миграция выполняется асинхронно, когда запросы не выполняются, и не выполняется, если директор размещения активации не выберет альтернативное расположение.

OnActivateAsync()

Этот метод вызывается в конце процесса активации grain. Он вызывается перед отправкой каких-либо сообщений в объект grain. Для объектов grain с объявленным постоянным состоянием этот метод вызывается после заполнения свойства State.

OnActivateAsync(CancellationToken)

Этот метод вызывается в конце процесса активации grain. Он вызывается перед отправкой каких-либо сообщений в объект grain. Для объектов grain с объявленным постоянным состоянием этот метод вызывается после заполнения свойства State.

OnDeactivateAsync()

Этот метод вызывается в начале процесса деактивации grain.

OnDeactivateAsync(DeactivationReason, CancellationToken)

Этот метод вызывается в начале процесса деактивации grain.

Participate(IGrainLifecycle)

Абстрактный базовый класс для всех классов grain.

RegisterOrUpdateReminder(String, TimeSpan, TimeSpan)

Регистрирует постоянное, надежное напоминание для отправки регулярных уведомлений (напоминаний) в объект grain. В объекте grain должен быть реализован Orleans.IRemindable интерфейс , а напоминания об этом объекте будут отправляться методу обратного ReceiveReminder вызова. Если текущее зерно отключается при срабатывании таймера, будет создана новая активация этого элемента для получения этого напоминания. Если существующее напоминание с таким же именем уже существует, это напоминание будет перезаписан этим новым напоминанием. Напоминания всегда будут получаться при одной активации этого элемента, даже если для этого элемента есть несколько активаций.

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

Регистрирует таймер для отправки периодических обратных вызовов этой области.

UnregisterReminder(IGrainReminder)

Отменяет регистрацию ранее зарегистрированного напоминания.

Явные реализации интерфейса

IGrainBase.GrainContext

Абстрактный базовый класс для всех классов grain.

Методы расширения

DeactivateOnIdle(IGrainBase)

Отключите эту активацию grain после завершения вызова текущего метода grain. Этот вызов помечает эту активацию текущего элемента grain, который будет деактивирован и удален в конце текущего метода. При следующем вызове этого объекта grain будет использоваться другая активация, что обычно означает, что новая активация будет автоматически создана средой выполнения.

MigrateOnIdle(IGrainBase)

Запускает попытку переноса этого экземпляра в другое расположение. Миграция фиксирует текущий RequestContextобъект , делая его доступным для директора размещения активации, чтобы он смог рассмотреть его при выборе нового расположения. Миграция выполняется асинхронно, когда запросы не выполняются, и не выполняется, если директор размещения активации не выберет альтернативное расположение.

AsReference(IAddressable, Type)

Возвращает типизированные ссылки на предоставленный объект grain.

AsReference<TGrainInterface>(IAddressable)

Возвращает типизированные ссылки на предоставленный объект grain.

BindGrainReference(IAddressable, IGrainFactory)

Привязывает ссылку grain к предоставленному объекту IGrainFactory.

Cast(IAddressable, Type)

Возвращает типизированные ссылки на предоставленный объект grain.

Cast<TGrainInterface>(IAddressable)

Возвращает типизированные ссылки на предоставленный объект grain.

GetGrainId(IAddressable)

Возвращает идентификатор grain, соответствующий указанному объекту grain.

GetPrimaryKey(IAddressable)

Guid Возвращает представление первичного ключа grain.

GetPrimaryKey(IAddressable, String)

Guid Возвращает представление первичного ключа grain.

GetPrimaryKeyLong(IAddressable)

long Возвращает представление первичного ключа grain.

GetPrimaryKeyLong(IAddressable, String)

long Возвращает представление первичного ключа grain.

GetPrimaryKeyString(IAddressable)

Возвращает первичный string ключ объекта grain.

IsPrimaryKeyBasedOnLong(IAddressable)

Возвращает значение, указывающее, имеет ли часть первичного ключа тип long.

GetReminder(Grain, String)

Возвращает ранее зарегистрированное напоминание.

GetReminder(IGrainBase, String)

Возвращает ранее зарегистрированное напоминание.

GetReminders(Grain)

Возвращает список всех напоминаний, зарегистрированных элементом grain.

GetReminders(IGrainBase)

Возвращает список всех напоминаний, зарегистрированных элементом grain.

RegisterOrUpdateReminder(Grain, String, TimeSpan, TimeSpan)

Регистрирует постоянное, надежное напоминание для отправки регулярных уведомлений (напоминаний) в объект grain. В объекте grain должен быть реализован Orleans.IRemindable интерфейс , а напоминания об этом объекте будут отправляться методу обратного ReceiveReminder вызова. Если текущее зерно отключается при срабатывании таймера, будет создана новая активация этого элемента для получения этого напоминания. Если существующее напоминание с таким же именем уже существует, это напоминание будет перезаписан этим новым напоминанием. Напоминания всегда будут получаться при одной активации этого элемента, даже если для этого элемента есть несколько активаций.

RegisterOrUpdateReminder(IGrainBase, String, TimeSpan, TimeSpan)

Регистрирует постоянное, надежное напоминание для отправки регулярных уведомлений (напоминаний) в объект grain. В объекте grain должен быть реализован Orleans.IRemindable интерфейс , а напоминания об этом объекте будут отправляться методу обратного ReceiveReminder вызова. Если текущее зерно отключается при срабатывании таймера, будет создана новая активация этого элемента для получения этого напоминания. Если существующее напоминание с таким же именем уже существует, это напоминание будет перезаписан этим новым напоминанием. Напоминания всегда будут получаться при одной активации этого элемента, даже если для этого элемента есть несколько активаций.

UnregisterReminder(Grain, IGrainReminder)

Отменяет регистрацию ранее зарегистрированного напоминания.

UnregisterReminder(IGrainBase, IGrainReminder)

Отменяет регистрацию ранее зарегистрированного напоминания.

GetStreamProvider(Grain, String)

Возвращает поставщик потока с указанным name.

GetStreamProvider(IGrainBase, String)

Возвращает поставщик потока с указанным name.

GetLogger(Grain)

Возвращает объект средства ведения журнала, который этот код может использовать для трассировки. Имя средства ведения журнала будет производным от имени класса grain.

GetLogger(Grain, String)

Возвращает объект средства ведения журнала, который этот код может использовать для трассировки.

GetGrainStorage(Grain, IServiceProvider)

Получение поставщика хранилища, связанного с типом grain.

Применяется к