Partager via


ZooKeeperBasedMembershipTable.InsertRow(MembershipEntry, TableVersion) Méthode

Définition

Atomically essaie d’insérer (ajouter) un nouveau MembershipEntry pour un silo et de mettre à jour la TableVersion. Si l’opération réussit, les modifications suivantes sont apportées à la table :

  1. La nouvelle propriété MembershipEntry sera ajoutée à la table.
  2. Le nouvel élément MembershipEntry sera également ajouté avec le nouvel eTag unique généré automatiquement.
  3. TableVersion.Version dans la table sera mis à jour vers la nouvelle TableVersion.Version.
  4. L’etag TableVersion dans la table sera mis à jour vers le nouvel eTag unique généré automatiquement. Toutes ces modifications apportées à la table, l’insertion d’une nouvelle ligne et la mise à jour de la version de la table et des etags associés, doivent se produire de manière atomique ou échouer de manière atomique sans effets secondaires. L’opération doit échouer dans chacune des conditions suivantes :
  5. Un MembershipEntry pour un silo donné existe déjà dans la table
  6. La mise à jour de tableVersion a échoué, car l’etag TableVersion donné (comme spécifié par la propriété TableVersion.VersionEtag) ne correspondait pas à l’etag TableVersion dans la table.
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)

Paramètres

entry
MembershipEntry

MembershipEntry à insérer.

tableVersion
TableVersion

Nouvelle TableVersion pour cette table, ainsi que son etag.

Retours

True si l’opération d’insertion a réussi et false dans le cas contraire.

Implémente

S’applique à