ZooKeeperBasedMembershipTable.UpdateRow 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
原子尝试更新一个接收器的 MembershipEntry,并更新 TableVersion。 如果操作成功,将对表进行以下更改:
- 此接收器的 MembershipEntry 将更新为新的 MembershipEntry (旧条目将完全替换为新条目)
- 更新的 MembershipEntry 的 eTag 也将是带有新的唯一自动生成 eTag 的 eTag。
- 表中的 TableVersion.Version 将更新为新的 TableVersion.Version。
- 表中的 TableVersion etag 将更新为新的唯一自动生成的 eTag。 对表所做的所有这些更改、更新新行和更新表版本和相关 etag 时,应以原子方式发生,或者以原子方式失败,且不会产生副作用。 该操作应在以下每种情况下失败:
- 表中不存在给定接收器的 MembershipEntry
- 给定接收器的 MembershipEntry 存在于表中,但其 etag 与提供的 etag 不匹配。
- 由于由 TableVersion.VersionEtag 属性指定的给定 TableVersion etag () 与表中的 TableVersion etag 不匹配,因此 TableVersion 更新失败。
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。