Grain<TGrainState> 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
具有声明持久状态的 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>(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 |
获取可用于访问其他粒度的 对象。 如果此粒度不与运行时关联,则为 Null,例如,直接创建用于单元测试时。 (继承自 Grain) |
GrainReference |
具有声明持久状态的 Grain 的基类。 (继承自 Grain) |
IdentityString |
grain 的 SiloIdentity 的字符串表示形式,包括类型和主键。 (继承自 Grain) |
RuntimeIdentity |
当前 silo 的唯一标识符。 此字符串没有语义内容,但它可能对日志记录很有用。 (继承自 Grain) |
ServiceProvider |
获取运行时管理的 IServiceProvider。 如果此粒度不与运行时关联,则为 Null,例如,直接创建用于单元测试时。 (继承自 Grain) |
State |
获取或设置粒度状态。 |
方法
ClearStateAsync() |
从后备存储中清除当前粒度状态数据。 |
DeactivateOnIdle() |
在完成当前 grain 方法调用后,停用 grain 的此激活。 此调用将标记当前粒度的此激活,以在当前方法的末尾停用和删除。 下一次调用此 grain 将导致使用不同的激活,这通常意味着运行时会自动创建新的激活。 (继承自 Grain) |
DelayDeactivation(TimeSpan) |
至少在指定的持续时间内延迟停用此激活。
正 |
GetLogger() |
返回此 grain 的代码可用于跟踪的记录器对象。 记录器的名称将派生自 grain 类名。 (继承自 Grain) |
GetLogger(String) |
返回此 grain 的代码可用于跟踪的记录器对象。 (继承自 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() |
从后备存储读取 grain 状态,并 State更新 。 |
RegisterOrUpdateReminder(String, TimeSpan, TimeSpan) |
注册持久可靠的提醒,以将常规通知 (提醒) 发送到粒度。
grain 必须实现 |
RegisterTimer(Func<Object,Task>, Object, TimeSpan, TimeSpan) |
注册计时器以向此 grain 发送定期回调。 (继承自 Grain) |
UnregisterReminder(IGrainReminder) |
取消注册以前注册的提醒。 (继承自 Grain) |
WriteStateAsync() |
将当前粒度状态数据写入后备存储。 |
显式接口实现
IGrainBase.GrainContext |
具有声明持久状态的 Grain 的基类。 (继承自 Grain) |
扩展方法
DeactivateOnIdle(IGrainBase) |
在当前 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 ID。 |
GetPrimaryKey(IAddressable) |
返回 Guid grain 主键的表示形式。 |
GetPrimaryKey(IAddressable, String) |
返回 Guid grain 主键的表示形式。 |
GetPrimaryKeyLong(IAddressable) |
返回 |
GetPrimaryKeyLong(IAddressable, String) |
返回 |
GetPrimaryKeyString(IAddressable) |
返回 |
IsPrimaryKeyBasedOnLong(IAddressable) |
返回主键的一部分是否为 类型 |
GetReminder(Grain, String) |
返回以前注册的提醒。 |
GetReminder(IGrainBase, String) |
返回以前注册的提醒。 |
GetReminders(Grain) |
返回 grain 注册的所有提醒的列表。 |
GetReminders(IGrainBase) |
返回 grain 注册的所有提醒的列表。 |
RegisterOrUpdateReminder(Grain, String, TimeSpan, TimeSpan) |
注册持久可靠的提醒,以将常规通知 (提醒) 发送到粒度。
grain 必须实现 |
RegisterOrUpdateReminder(IGrainBase, String, TimeSpan, TimeSpan) |
注册持久可靠的提醒,以将常规通知 (提醒) 发送到粒度。
grain 必须实现 |
UnregisterReminder(Grain, IGrainReminder) |
取消注册以前注册的提醒。 |
UnregisterReminder(IGrainBase, IGrainReminder) |
取消注册以前注册的提醒。 |
GetStreamProvider(Grain, String) |
获取具有指定 |
GetStreamProvider(IGrainBase, String) |
获取具有指定 |
GetLogger(Grain) |
返回此 grain 的代码可用于跟踪的记录器对象。 记录器的名称将派生自 grain 类名。 |
GetLogger(Grain, String) |
返回此 grain 的代码可用于跟踪的记录器对象。 |
GetGrainStorage(Grain, IServiceProvider) |
获取与 grain 类型关联的存储提供程序。 |