Grain<TGrainState> Класс

Определение

Базовый класс для Grain с объявленным постоянным состоянием.

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

Параметры типа

TGrainState

Класс объекта постоянного состояния

Наследование
Grain<TGrainState>

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

Grain<TGrainState>()

Инициализирует новый экземпляр класса Grain<TGrainState>.

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

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

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

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

Grain<TGrainState>(IStorage<TGrainState>)

Инициализирует новый экземпляр класса Grain<TGrainState>.

Свойства

GrainFactory

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

(Унаследовано от Grain)
GrainReference

Базовый класс для Grain с объявленным постоянным состоянием.

(Унаследовано от Grain)
IdentityString

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

(Унаследовано от Grain)
RuntimeIdentity

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

(Унаследовано от Grain)
ServiceProvider

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

(Унаследовано от Grain)
State

Возвращает или задает состояние интервала.

Методы

ClearStateAsync()

Удаляет текущие данные состояния интервала из резервного хранилища.

DeactivateOnIdle()

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

(Унаследовано от Grain)
DelayDeactivation(TimeSpan)

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

(Унаследовано от Grain)
GetLogger()

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

(Унаследовано от Grain)
GetLogger(String)

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

(Унаследовано от Grain)
GetReminder(String)

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

(Унаследовано от Grain)
GetReminders()

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

(Унаследовано от Grain)
GetStreamProvider(String)

Базовый класс для Grain с объявленным постоянным состоянием.

(Унаследовано от Grain)
GetStreamProviders()

Базовый класс для Grain с объявленным постоянным состоянием.

(Унаследовано от Grain)
MigrateOnIdle()

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

(Унаследовано от Grain)
OnActivateAsync()

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

(Унаследовано от Grain)
OnActivateAsync(CancellationToken)

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

(Унаследовано от Grain)
OnDeactivateAsync()

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

(Унаследовано от Grain)
OnDeactivateAsync(DeactivationReason, CancellationToken)

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

(Унаследовано от Grain)
Participate(IGrainLifecycle)

Базовый класс для Grain с объявленным постоянным состоянием.

Participate(IGrainLifecycle)

Базовый класс для Grain с объявленным постоянным состоянием.

(Унаследовано от Grain)
ReadStateAsync()

Считывает состояние интервала из резервного хранилища, обновляя State.

RegisterOrUpdateReminder(String, TimeSpan, TimeSpan)

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

(Унаследовано от Grain)
RegisterTimer(Func<Object,Task>, Object, TimeSpan, TimeSpan)

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

(Унаследовано от Grain)
UnregisterReminder(IGrainReminder)

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

(Унаследовано от Grain)
WriteStateAsync()

Запишите текущие данные состояния интервала в резервное хранилище.

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

IGrainBase.GrainContext

Базовый класс для Grain с объявленным постоянным состоянием.

(Унаследовано от Grain)

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

DeactivateOnIdle(IGrainBase)

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

MigrateOnIdle(IGrainBase)

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

AsReference(IAddressable, Type)

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

AsReference<TGrainInterface>(IAddressable)

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

BindGrainReference(IAddressable, IGrainFactory)

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

Cast(IAddressable, Type)

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

Cast<TGrainInterface>(IAddressable)

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

GetGrainId(IAddressable)

Возвращает идентификатор интервала, соответствующий указанному объекту 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 должен быть реализован Orleans.IRemindable интерфейс , и напоминания для этого объекта будут отправляться методу обратного ReceiveReminder вызова. Если текущий интервал отключен при срабатывании таймера, будет создана новая активация этого интервала для получения этого напоминания. Если существующее напоминание с тем же именем уже существует, это напоминание будет перезаписано этим новым напоминанием. Напоминания всегда будут получены при одной активации этого интервала, даже если для этого интервала существует несколько активаций.

RegisterOrUpdateReminder(IGrainBase, String, TimeSpan, TimeSpan)

Регистрирует постоянное надежное напоминание для отправки регулярных уведомлений (напоминаний) в интервал. В объекте 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.

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