次の方法で共有


IMembershipTableSystemTarget インターフェイス

定義

システム ターゲット ベースの実装用のメンバーシップ テーブル インターフェイス。

[Orleans.Concurrency.Unordered]
public interface IMembershipTableSystemTarget : Orleans.IMembershipTable, Orleans.ISystemTarget
[<Orleans.Concurrency.Unordered>]
type IMembershipTableSystemTarget = interface
    interface IMembershipTable
    interface ISystemTarget
    interface IAddressable
Public Interface IMembershipTableSystemTarget
Implements IMembershipTable, ISystemTarget
属性
実装

メソッド

CleanupDefunctSiloEntries(DateTimeOffset)

より古いすべての配信不能サイロ エントリを削除する beforeDate

(継承元 IMembershipTable)
DeleteMembershipTableEntries(String)

指定された clusterId のすべてのテーブル エントリを削除します

(継承元 IMembershipTable)
InitializeMembershipTable(Boolean)

メンバーシップ テーブルを初期化します。他のすべてのメソッドの前に呼び出されます

(継承元 IMembershipTable)
InitializeMembershipTable(GlobalConfiguration, Boolean, Logger)

メンバーシップ テーブルを初期化します。他のすべてのメソッドの前に呼び出されます

(継承元 IMembershipTable)
InsertRow(MembershipEntry, TableVersion)

1 つのサイロに対して新しい MembershipEntry をアトミックに挿入 (追加) し、TableVersion も更新しようとします。 操作が成功すると、テーブルに対して次の変更が行われます。

  1. 新しい MembershipEntry がテーブルに追加されます。
  2. 新しく追加された MembershipEntry も、自動的に生成された新しい一意の eTag と共に追加されます。
  3. テーブル内の TableVersion.Version は、新しい TableVersion.Version に更新されます。
  4. テーブル内の TableVersion etag は、自動的に生成された新しい一意の eTag に更新されます。 テーブルに対するすべての変更、新しい行の挿入、テーブル バージョンと関連する etag の更新は、アトミックに行われるか、副作用なしでアトミックに失敗する必要があります。 操作は、次の各条件で失敗する必要があります。
  5. 特定のサイロの MembershipEntry がテーブルに既に存在する
  6. 指定された TableVersion etag (TableVersion.VersionEtag プロパティで指定) がテーブル内の TableVersion etag と一致しなかったため、TableVersion の更新に失敗しました。
(継承元 IMembershipTable)
ReadAll()

メンバーシップ テーブルの完全な内容をアトミックに読み取ります。 返される MembershipTableData には、テーブル内のすべてのサイロのすべての MembershipEntry エントリと、このテーブルの TableVersion が含まれます。 MembershipEntries と TableVersion はアトミックに読み取る必要があります。

(継承元 IMembershipTable)
ReadRow(SiloAddress)

特定のサイロに関するメンバーシップ テーブル情報をアトミックに読み取ります。 返される MembershipTableData には、特定のサイロに対して 1 つの MembershipEntry エントリと、このテーブルの TableVersion が含まれます。 MembershipEntry と TableVersion はアトミックに読み取る必要があります。

(継承元 IMembershipTable)
UpdateIAmAlive(MembershipEntry)

このサイロの MembershipEntry の IAmAlive パーツ (列) を更新します。 この操作では、IAmAlive 列のみを更新し、他の列を変更しないでください。 この操作は"ダーティ書き込み" または "インプレース更新" であり、etag 検証なしで実行されます。 eTag の更新に関して: この操作では、指定されたサイロ行に関連付けられている eTag が自動的に更新される可能性がありますが、更新する必要はありません。 また、etag を変更しないようにすることもできます ("ダーティライト")。 TableVersion に関して: この操作では、テーブルの TableVersion を変更しないでください。 それは手つかずのままにする必要があります。 テーブルの意味上の理由により、この操作が失敗する可能性があるシナリオはありません。 ネットワークの問題またはテーブルが使用できないことが原因でのみ失敗する可能性があります。

(継承元 IMembershipTable)
UpdateRow(MembershipEntry, String, TableVersion)

1 つのサイロの MembershipEntry をアトミックに更新し、TableVersion も更新しようとします。 操作が成功すると、テーブルに対して次の変更が行われます。

  1. このサイロの MembershipEntry は、新しい MembershipEntry に更新されます (古いエントリは新しいエントリによって完全に置き換えられる)
  2. 更新された MembershipEntry の eTag も、新しい一意に自動的に生成された eTag を持つ eTag になります。
  3. テーブル内の TableVersion.Version は、新しい TableVersion.Version に更新されます。
  4. テーブル内の TableVersion etag は、自動的に生成された新しい一意の eTag に更新されます。 テーブルに対するすべての変更、新しい行の更新、テーブル バージョンと関連する etag の更新は、アトミックに行われるか、副作用なしでアトミックに失敗する必要があります。 操作は、次の各条件で失敗する必要があります。
  5. 特定のサイロの MembershipEntry がテーブルに存在しない
  6. 特定のサイロの MembershipEntry がテーブルに存在しますが、テーブル内の etag が指定された etag と一致しません。
  7. 指定された TableVersion etag (TableVersion.VersionEtag プロパティで指定) がテーブル内の TableVersion etag と一致しなかったため、TableVersion の更新に失敗しました。
(継承元 IMembershipTable)

拡張メソッド

AsReference(IAddressable, Type)

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

AsReference<TGrainInterface>(IAddressable)

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

BindGrainReference(IAddressable, IGrainFactory)

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

Cast(IAddressable, Type)

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

Cast<TGrainInterface>(IAddressable)

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

GetGrainId(IAddressable)

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

GetPrimaryKey(IAddressable, String)

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

GetPrimaryKey(IAddressable)

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

GetPrimaryKeyLong(IAddressable, String)

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

GetPrimaryKeyLong(IAddressable)

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

GetPrimaryKeyString(IAddressable)

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

IsPrimaryKeyBasedOnLong(IAddressable)

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

適用対象