共用方式為


ZooKeeperBasedMembershipTable.UpdateRow 方法

定義

以不可部分完成的方式嘗試更新一個定址接收器的 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 的更新失敗,因為 TableVersion.VersionEtag 屬性所指定的指定 TableVersion etag (,) 不符合資料表中的 TableVersion etag。
public System.Threading.Tasks.Task<bool> UpdateRow (Orleans.MembershipEntry entry, string etag, Orleans.TableVersion tableVersion);
abstract member UpdateRow : Orleans.MembershipEntry * string * Orleans.TableVersion -> System.Threading.Tasks.Task<bool>
override this.UpdateRow : Orleans.MembershipEntry * string * Orleans.TableVersion -> System.Threading.Tasks.Task<bool>
Public Function UpdateRow (entry As MembershipEntry, etag As String, tableVersion As TableVersion) As Task(Of Boolean)

參數

entry
MembershipEntry

要更新的 MembershipEntry。

etag
String

指定 MembershipEntry 的 etag。

tableVersion
TableVersion

此資料表的新 TableVersion 及其 etag。

傳回

如果更新作業成功,則為 True,否則為 false。

實作

適用於