次の方法で共有


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 を作成し、IGrainIdentity と IGrainRuntime をテスト ダブル (モック/スタブ) に置き換えることができる単体テストに特に便利です。

Grain(IGrainIdentity, IGrainRuntime)

グレイン実装者は、このコンストラクターを公開する必要はありませんが、それを選択できます。 このコンストラクターは、テスト コードで Grain を作成し、IGrainIdentity と IGrainRuntime をテスト ダブル (モック/スタブ) に置き換えることができる単体テストに特に便利です。

プロパティ

GrainFactory

他のグレインにアクセスするために使用できる オブジェクトを取得します。 単体テスト用に直接作成された場合など、このグレインがランタイムに関連付けられていない場合は Null。

GrainReference

すべてのグレイン クラスの抽象基本クラス。

IdentityString

型と主キーを含むグレインの SiloIdentity の文字列表現。

RuntimeIdentity

現在のサイロの一意識別子。 この文字列にはセマンティック コンテンツはありませんが、ログ記録に役立つ場合があります。

ServiceProvider

ランタイムによって管理される IServiceProvider を取得します。 単体テスト用に直接作成された場合など、このグレインがランタイムに関連付けられていない場合は Null。

メソッド

DeactivateOnIdle()

現在のグレイン メソッドの呼び出しが完了した後、グレインのこのアクティブ化を非アクティブ化します。 この呼び出しにより、現在のグレインのこのアクティブ化が非アクティブ化され、現在のメソッドの最後に削除されます。 このグレインを次に呼び出すと、別のアクティブ化が使用されます。これは通常、ランタイムによって新しいアクティブ化が自動的に作成されることを意味します。

DelayDeactivation(TimeSpan)

少なくとも指定された期間、このアクティブ化の非アクティブ化を遅延します。 正 timeSpan の値は、"その期間のこのアクティブ化の GC を防ぐ" ことを意味します。 負 timeSpan の値は、"DelayDeactivation 呼び出しの前の設定を取り消し、通常のアクティブ化ガベージ コレクション設定に基づいてこのアクティブ化を動作させる" を意味します。 DeactivateOnIdle メソッドは、現在の "キープアライブ" 設定を元に戻したりオーバーライドしたりして、このグレインを直ちに非アクティブ化できるようにします。

GetLogger()

このグレインのコードがトレースに使用できるロガー オブジェクトを返します。 ロガーの名前は、グレイン クラス名から派生します。

GetLogger(String)

このグレインのコードがトレースに使用できるロガー オブジェクトを返します。

GetReminder(String)

以前に登録したアラームを返します。

GetReminders()

グレインによって登録されたすべてのアラームの一覧を返します。

GetStreamProvider(String)

すべてのグレイン クラスの抽象基本クラス。

GetStreamProviders()

すべてのグレイン クラスの抽象基本クラス。

MigrateOnIdle()

このインスタンスを別の場所に移行する試みを開始します。 移行では、現在 RequestContextの をキャプチャして、アクティブ化の配置ディレクターが使用できるようにして、新しい場所を選択するときに考慮できるようにします。 移行は、要求が実行されていないときに非同期的に行われ、アクティブ化の配置ディレクターが別の場所を選択しない場合は発生しません。

OnActivateAsync()

このメソッドは、グレインをアクティブ化するプロセスの最後に呼び出されます。 これは、メッセージがグレインにディスパッチされる前に呼び出されます。 宣言された永続的な状態のグレインの場合、State プロパティが設定された後にこのメソッドが呼び出されます。

OnActivateAsync(CancellationToken)

このメソッドは、グレインをアクティブ化するプロセスの最後に呼び出されます。 これは、メッセージがグレインにディスパッチされる前に呼び出されます。 宣言された永続的な状態のグレインの場合、State プロパティが設定された後にこのメソッドが呼び出されます。

OnDeactivateAsync()

このメソッドは、グレインを非アクティブ化するプロセスの開始時に呼び出されます。

OnDeactivateAsync(DeactivationReason, CancellationToken)

このメソッドは、グレインを非アクティブ化するプロセスの開始時に呼び出されます。

Participate(IGrainLifecycle)

すべてのグレイン クラスの抽象基本クラス。

RegisterOrUpdateReminder(String, TimeSpan, TimeSpan)

定期的な通知 (アラーム) をグレインに送信する、永続的で信頼性の高いアラームを登録します。 グレインは インターフェイスを実装する Orleans.IRemindable 必要があり、このグレインのアラームはコールバック メソッドに ReceiveReminder 送信されます。 タイマーの起動時に現在のグレインが非アクティブ化されると、このグレインの新しいアクティブ化が作成され、このアラームが受信されます。 同じ名前の既存のアラームが既に存在する場合、そのアラームはこの新しいアラームで上書きされます。 このグレインに対して複数のアクティブ化が存在する場合でも、このグレインの 1 回のアクティブ化によってアラームが常に受信されます。

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

このグレインに定期的なコールバックを送信するタイマーを登録します。

UnregisterReminder(IGrainReminder)

以前に登録したアラームの登録を解除します。

明示的なインターフェイスの実装

IGrainBase.GrainContext

すべてのグレイン クラスの抽象基本クラス。

拡張メソッド

DeactivateOnIdle(IGrainBase)

現在のグレイン メソッドの呼び出しが完了した後、このグレインアクティブ化を非アクティブ化します。 この呼び出しにより、現在のグレインのこのアクティブ化が非アクティブ化され、現在のメソッドの最後に削除されます。 このグレインを次に呼び出すと、別のアクティブ化が使用されます。これは通常、ランタイムによって新しいアクティブ化が自動的に作成されることを意味します。

MigrateOnIdle(IGrainBase)

このインスタンスを別の場所に移行する試みを開始します。 移行では、現在 RequestContextの をキャプチャして、アクティブ化の配置ディレクターが使用できるようにして、新しい場所を選択するときに考慮できるようにします。 移行は、要求が実行されていないときに非同期的に行われ、アクティブ化の配置ディレクターが別の場所を選択しない場合は発生しません。

AsReference(IAddressable, Type)

指定されたグレインへの型指定された参照を返します。

AsReference<TGrainInterface>(IAddressable)

指定されたグレインへの型指定された参照を返します。

BindGrainReference(IAddressable, IGrainFactory)

グレイン参照を指定された IGrainFactoryにバインドします。

Cast(IAddressable, Type)

指定されたグレインへの型指定された参照を返します。

Cast<TGrainInterface>(IAddressable)

指定されたグレインへの型指定された参照を返します。

GetGrainId(IAddressable)

指定されたグレインに対応するグレイン ID を返します。

GetPrimaryKey(IAddressable)

Guidグレイン主キーの表現を返します。

GetPrimaryKey(IAddressable, String)

Guidグレイン主キーの表現を返します。

GetPrimaryKeyLong(IAddressable)

longグレイン主キーの表現を返します。

GetPrimaryKeyLong(IAddressable, String)

longグレイン主キーの表現を返します。

GetPrimaryKeyString(IAddressable)

グレインの string 主キーを返します。

IsPrimaryKeyBasedOnLong(IAddressable)

主キーの一部が 型であるかどうかを返します long

GetReminder(Grain, String)

以前に登録したアラームを返します。

GetReminder(IGrainBase, String)

以前に登録したアラームを返します。

GetReminders(Grain)

グレインによって登録されたすべてのアラームの一覧を返します。

GetReminders(IGrainBase)

グレインによって登録されたすべてのアラームの一覧を返します。

RegisterOrUpdateReminder(Grain, String, TimeSpan, TimeSpan)

定期的な通知 (アラーム) をグレインに送信する、永続的で信頼性の高いアラームを登録します。 グレインは インターフェイスを実装する Orleans.IRemindable 必要があり、このグレインのアラームはコールバック メソッドに ReceiveReminder 送信されます。 タイマーの起動時に現在のグレインが非アクティブ化されると、このグレインの新しいアクティブ化が作成され、このアラームが受信されます。 同じ名前の既存のアラームが既に存在する場合、そのアラームはこの新しいアラームで上書きされます。 このグレインに対して複数のアクティブ化が存在する場合でも、このグレインの 1 回のアクティブ化によってアラームが常に受信されます。

RegisterOrUpdateReminder(IGrainBase, String, TimeSpan, TimeSpan)

定期的な通知 (アラーム) をグレインに送信する、永続的で信頼性の高いアラームを登録します。 グレインは インターフェイスを実装する Orleans.IRemindable 必要があり、このグレインのアラームはコールバック メソッドに ReceiveReminder 送信されます。 タイマーの起動時に現在のグレインが非アクティブ化されると、このグレインの新しいアクティブ化が作成され、このアラームが受信されます。 同じ名前の既存のアラームが既に存在する場合、そのアラームはこの新しいアラームで上書きされます。 このグレインに対して複数のアクティブ化が存在する場合でも、このグレインの 1 回のアクティブ化によってアラームが常に受信されます。

UnregisterReminder(Grain, IGrainReminder)

以前に登録したアラームの登録を解除します。

UnregisterReminder(IGrainBase, IGrainReminder)

以前に登録したアラームの登録を解除します。

GetStreamProvider(Grain, String)

指定した nameを持つストリーム プロバイダーを取得します。

GetStreamProvider(IGrainBase, String)

指定した nameを持つストリーム プロバイダーを取得します。

GetLogger(Grain)

このグレインのコードがトレースに使用できるロガー オブジェクトを返します。 ロガーの名前は、グレイン クラス名から派生します。

GetLogger(Grain, String)

このグレインのコードがトレースに使用できるロガー オブジェクトを返します。

GetGrainStorage(Grain, IServiceProvider)

グレインの種類に関連付けられているストレージ プロバイダーを取得します。

適用対象