Condividi tramite


ZooKeeperBasedMembershipTable.InsertRow(MembershipEntry, TableVersion) Metodo

Definizione

Tenta in modo atomico di inserire (aggiungere) un nuovo MembershipEntry per un silo e di aggiornare anche TableVersion. Se l'operazione ha esito positivo, verranno apportate le modifiche seguenti alla tabella:

  1. La nuova membershipEntry verrà aggiunta alla tabella.
  2. L'elemento MembershipEntry appena aggiunto verrà aggiunto anche con il nuovo eTag generato automaticamente univoco.
  3. TableVersion.Version nella tabella verrà aggiornato alla nuova table TableVersion.Version.
  4. L'etag TableVersion nella tabella verrà aggiornato al nuovo eTag generato automaticamente. Tutte le modifiche apportate alla tabella, l'inserimento di una nuova riga e l'aggiornamento della versione della tabella e degli etag associati, devono verificarsi in modo atomico o avere esito negativo in modo atomico senza effetti collaterali. L'operazione deve avere esito negativo in ognuna delle condizioni seguenti:
  5. Una membershipEntry per un determinato silo esiste già nella tabella
  6. L'aggiornamento di TableVersion non è riuscito perché l'etag TableVersion specificato (come specificato dalla proprietà TableVersion.VersionEtag) non corrisponde all'etag TableVersion nella tabella.
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)

Parametri

entry
MembershipEntry

MembershipEntry da inserire.

tableVersion
TableVersion

Nuovo Oggetto TableVersion per questa tabella, insieme al relativo etag.

Restituisce

True se l'operazione di inserimento è riuscita e false in caso contrario.

Implementazioni

Si applica a