Partager via


ZooKeeperBasedMembershipTable.InsertRow(MembershipEntry, TableVersion) Méthode

Définition

Tente atomiquement d’insérer (ajouter) un nouvel MembershipEntry pour un silo et de mettre également à jour 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. L’élément MembershipEntry nouvellement ajouté sera également ajouté avec le nouvel eTag unique généré automatiquement.
  3. TableVersion.Version dans la table sera mis à jour vers le nouveau 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, insertion d’une nouvelle ligne et mise à jour de la version de la table et des etags associés, doivent se produire atomiquement ou échouer atomiquement 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ée (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 à