次の方法で共有


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 をテスト ダブル (モック/スタブ) に置き換えることができる単体テストに特に役立ちます。

プロパティ

GrainContext

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

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がキャプチャされ、アクティブ化の配置ディレクターが使用できるようになり、新しい場所を選択するときに考慮できるようになります。 移行は、要求が実行されていないときに非同期的に行われ、アクティブ化の配置ディレクターが別の場所を選択しない場合は発生しません。

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)

指定されたグレインに対応するグレイン 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)

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

適用対象