FileRecordSequence.ReserveAndAppend Méthode

Définition

Effectue automatiquement une réservation unique et ajoute un enregistrement à la séquence.

Surcharges

Nom Description
ReserveAndAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[])

Effectue automatiquement une réservation unique et ajoute un enregistrement à la séquence. Cette méthode ne peut pas être héritée.

ReserveAndAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[])

Effectue automatiquement une réservation unique et ajoute un enregistrement à la séquence. Cette méthode ne peut pas être héritée.

ReserveAndAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[])

Effectue automatiquement une réservation unique et ajoute un enregistrement à la séquence. Cette méthode ne peut pas être héritée.

public:
 virtual System::IO::Log::SequenceNumber ReserveAndAppend(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber nextUndoRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, System::IO::Log::ReservationCollection ^ reservationCollection, ... cli::array <long> ^ reservations);
public System.IO.Log.SequenceNumber ReserveAndAppend(System.Collections.Generic.IList<ArraySegment<byte>> data, System.IO.Log.SequenceNumber nextUndoRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, System.IO.Log.ReservationCollection reservationCollection, params long[] reservations);
abstract member ReserveAndAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * int64[] -> System.IO.Log.SequenceNumber
override this.ReserveAndAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * int64[] -> System.IO.Log.SequenceNumber
Public Function ReserveAndAppend (data As IList(Of ArraySegment(Of Byte)), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, reservationCollection As ReservationCollection, ParamArray reservations As Long()) As SequenceNumber

Paramètres

data
IList<ArraySegment<Byte>>

Liste des segments de tableau d’octets qui seront concaténés et ajoutés en tant qu’enregistrement.

nextUndoRecord
SequenceNumber

Numéro de séquence de l’enregistrement suivant dans l’ordre spécifié par l’utilisateur.

previousRecord
SequenceNumber

Numéro de séquence de l’enregistrement suivant dans l’ordre précédent.

recordAppendOptions
RecordAppendOptions

Valeur valide de RecordAppendOptions ce qui spécifie la façon dont les données doivent être écrites.

reservationCollection
ReservationCollection

Collection de réservations dans laquelle effectuer des réservations.

reservations
Int64[]

Réservations à effectuer, en octets.

Retours

Numéro de séquence de l’enregistrement de journal ajouté.

Implémente

Exceptions

Un ou plusieurs arguments sont null.

Un ou plusieurs arguments sont hors limites.

reservations n’a pas été créé par cette séquence d’enregistrements.

Impossible d’effectuer l’opération, car la séquence d’enregistrements a été ouverte avec un accès en lecture seule.

Impossible d’effectuer la requête en raison d’une exception d’E/S inattendue.

La méthode a été appelée après la suppression de la séquence.

Il n’y a pas assez de mémoire pour poursuivre l’exécution du programme.

La séquence d’enregistrements est pleine.

Remarques

Les données contenues dans le data paramètre sont concaténées dans un tableau d’octets unique pour l’ajout en tant qu’enregistrement. Toutefois, aucune disposition n’est effectuée pour fractionner les données en segments de tableau lorsque l’enregistrement est lu.

Les réservations spécifiées sont ajoutées à la collection de réservations fournie dans une opération atomique avec une opération d’ajout d’enregistrement. Si l’ajout échoue, aucun espace n’est réservé.

Normalement, cette méthode peut se terminer avant l’écriture de l’enregistrement. Pour vous assurer qu’un enregistrement a été écrit, spécifiez l’indicateur ForceFlush à l’aide du recordAppendOptions paramètre ou appelez la Flush méthode.

S’applique à

ReserveAndAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[])

Effectue automatiquement une réservation unique et ajoute un enregistrement à la séquence. Cette méthode ne peut pas être héritée.

public:
 virtual System::IO::Log::SequenceNumber ReserveAndAppend(ArraySegment<System::Byte> data, System::IO::Log::SequenceNumber nextUndoRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, System::IO::Log::ReservationCollection ^ reservationCollection, ... cli::array <long> ^ reservations);
public System.IO.Log.SequenceNumber ReserveAndAppend(ArraySegment<byte> data, System.IO.Log.SequenceNumber nextUndoRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, System.IO.Log.ReservationCollection reservationCollection, params long[] reservations);
abstract member ReserveAndAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * int64[] -> System.IO.Log.SequenceNumber
override this.ReserveAndAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * int64[] -> System.IO.Log.SequenceNumber
Public Function ReserveAndAppend (data As ArraySegment(Of Byte), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, reservationCollection As ReservationCollection, ParamArray reservations As Long()) As SequenceNumber

Paramètres

data
ArraySegment<Byte>

Liste des segments de tableau d’octets qui seront concaténés et ajoutés en tant qu’enregistrement.

nextUndoRecord
SequenceNumber

Numéro de séquence de l’enregistrement suivant dans l’ordre spécifié par l’utilisateur.

previousRecord
SequenceNumber

Numéro de séquence de l’enregistrement suivant dans l’ordre précédent.

recordAppendOptions
RecordAppendOptions

Valeur valide de RecordAppendOptions ce qui spécifie la façon dont les données doivent être écrites.

reservationCollection
ReservationCollection

Qui ReservationCollection contient la collection dans laquelle effectuer des réservations.

reservations
Int64[]

Réservations à effectuer, en octets.

Retours

Numéro de séquence de l’enregistrement de journal ajouté.

Implémente

Exceptions

Un ou plusieurs arguments sont null.

Un ou plusieurs arguments sont hors limites.

reservations n’a pas été créé par cette séquence d’enregistrements.

Impossible d’effectuer l’opération, car la séquence d’enregistrements a été ouverte avec un accès en lecture seule.

Impossible d’effectuer la requête en raison d’une exception d’E/S inattendue.

La méthode a été appelée après la suppression de la séquence.

Il n’y a pas assez de mémoire pour poursuivre l’exécution du programme.

La séquence d’enregistrements est pleine.

Remarques

Les données contenues dans le data paramètre sont concaténées dans un tableau d’octets unique pour l’ajout en tant qu’enregistrement. Toutefois, aucune disposition n’est effectuée pour fractionner les données en segments de tableau lorsque l’enregistrement est lu.

Les réservations spécifiées sont ajoutées à la collection de réservations fournie dans une opération atomique avec une opération d’ajout d’enregistrement. Si l’ajout échoue, aucun espace n’est réservé.

Normalement, cette méthode peut se terminer avant l’écriture de l’enregistrement. Pour vous assurer qu’un enregistrement a été écrit, spécifiez l’indicateur ForceFlush à l’aide du recordAppendOptions paramètre ou appelez la Flush méthode.

S’applique à