ZooKeeperBasedMembershipTable.InsertRow(MembershipEntry, TableVersion) 方法

定义

原子尝试插入 (添加) 一个接收器的新 MembershipEntry,并更新 TableVersion。 如果操作成功,将对表进行以下更改:

  1. 新的 MembershipEntry 将添加到表中。
  2. 新添加的 MembershipEntry 也将随新的唯一自动生成的 eTag 一起添加。
  3. 表中的 TableVersion.Version 将更新为新的 TableVersion.Version。
  4. 表中的 TableVersion etag 将更新为新的唯一自动生成的 eTag。 对表所做的所有这些更改、插入新行和更新表版本和相关 etag 时,应以原子方式发生,或者以原子方式失败,且无副作用。 该操作应在以下每种情况下失败:
  5. 表中已存在给定接收器的 MembershipEntry
  6. 由于由 TableVersion.VersionEtag 属性指定的给定 TableVersion etag () 与表中的 TableVersion etag 不匹配,因此 TableVersion 更新失败。
public System.Threading.Tasks.Task<bool> InsertRow (Orleans.MembershipEntry entry, Orleans.TableVersion tableVersion);
abstract member InsertRow : Orleans.MembershipEntry * Orleans.TableVersion -> System.Threading.Tasks.Task<bool>
override this.InsertRow : Orleans.MembershipEntry * Orleans.TableVersion -> System.Threading.Tasks.Task<bool>
Public Function InsertRow (entry As MembershipEntry, tableVersion As TableVersion) As Task(Of Boolean)

参数

entry
MembershipEntry

要插入的 MembershipEntry。

tableVersion
TableVersion

此表的新 TableVersion 及其 etag。

返回

如果插入操作成功,则为 True;否则为 false。

实现

适用于