Partager via


LogRecordSequence.BeginAppend Méthode

Définition

Commence une opération d'ajout asynchrone.

Surcharges

BeginAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, AsyncCallback, Object)

Commence une opération d'ajout asynchrone. Cette méthode ne peut pas être héritée.

BeginAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, AsyncCallback, Object)

Commence une opération d'ajout asynchrone. Cette méthode ne peut pas être héritée.

BeginAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, AsyncCallback, Object)

Commence une opération d'ajout asynchrone. Cette méthode ne peut pas être héritée.

BeginAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, AsyncCallback, Object)

Commence une opération d'ajout asynchrone. Cette méthode ne peut pas être héritée.

BeginAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, AsyncCallback, Object)

Commence une opération d'ajout asynchrone. Cette méthode ne peut pas être héritée.

public:
 virtual IAsyncResult ^ BeginAppend(ArraySegment<System::Byte> data, System::IO::Log::SequenceNumber nextUndoRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAppend (ArraySegment<byte> data, System.IO.Log.SequenceNumber nextUndoRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, AsyncCallback callback, object state);
abstract member BeginAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * AsyncCallback * obj -> IAsyncResult
override this.BeginAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * AsyncCallback * obj -> IAsyncResult
Public Function BeginAppend (data As ArraySegment(Of Byte), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, callback As AsyncCallback, state As Object) As IAsyncResult

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

Une valeur valide de RecordAppendOptions qui spécifie comment les données doivent être écrites.

callback
AsyncCallback

Rappel asynchrone facultatif à appeler lorsque l'ajout est terminé.

state
Object

Objet fourni par l'utilisateur qui distingue cette requête d'ajout asynchrone spécifique des autres requêtes.

Retours

IAsyncResult qui représente l'ajout asynchrone qui pourrait toujours être en attente.

Implémente

Exceptions

nextUndoRecord ou previousRecord n'est pas valide pour cette séquence.

- ou -

data ne peut pas être ajouté car il est supérieur à la taille d'enregistrement maximale.

- ou -

reservations n'a pas été créé par cette séquence d'enregistrement.

Un ou plusieurs arguments ont la valeur null.

nextUndoRecord ou previousRecord n'est pas compris entre le numéro de base et les derniers numéros de cette séquence.

La requête n'a pas pu être exécutée en raison d'une exception d'E/S inattendue.

- ou -

La requête n'a pas pu être exécutée en raison d'une erreur de périphérique d'E/S.

L'opération ne peut pas être effectuée car la séquence d'enregistrement a été ouverte en lecture seule.

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

La mémoire disponible n'est pas suffisante pour continuer l'exécution du programme.

La séquence d'enregistrement est complète.

L'accès à la séquence de journal spécifiée est refusé par le système d'exploitation.

Remarques

Vous devez passer le IAsyncResult retourné par cette méthode à la méthode EndAppend pour vous assurer que l'opération d'ajout est terminée et que des ressources peuvent être libérées de façon appropriée. Si une erreur s'est produite pendant un ajout asynchrone, une exception n'est pas levée tant que la méthode EndAppend n'est pas appelée avec le IAsyncResult retourné par cette méthode.

Les données contenues dans le paramètre data seront concaténées dans un tableau d'octets unique pour l'ajouter en tant qu'enregistrement. Toutefois, il n'est pas possible de rétablir les segments du tableau en fractionnant les données lors de la lecture de l'enregistrement.

Normalement, cette méthode se termine avant que l'enregistrement ait été écrit. Pour vous assurer de l'écriture d'un enregistrement, spécifiez l'indicateur ForceFlush à l'aide du paramètre recordAppendOptions ou appelez la méthode Flush.

S’applique à

BeginAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, AsyncCallback, Object)

Commence une opération d'ajout asynchrone. Cette méthode ne peut pas être héritée.

public:
 virtual IAsyncResult ^ BeginAppend(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber userRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAppend (System.Collections.Generic.IList<ArraySegment<byte>> data, System.IO.Log.SequenceNumber userRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, AsyncCallback callback, object state);
abstract member BeginAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * AsyncCallback * obj -> IAsyncResult
override this.BeginAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * AsyncCallback * obj -> IAsyncResult
Public Function BeginAppend (data As IList(Of ArraySegment(Of Byte)), userRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, callback As AsyncCallback, state As Object) As IAsyncResult

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.

userRecord
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

Une valeur valide de RecordAppendOptions qui spécifie comment les données doivent être écrites.

callback
AsyncCallback

Rappel asynchrone facultatif à appeler lorsque l'ajout est terminé.

state
Object

Objet fourni par l'utilisateur qui distingue cette requête d'ajout asynchrone spécifique des autres requêtes.

Retours

IAsyncResult qui représente l'ajout asynchrone qui pourrait toujours être en attente.

Implémente

Exceptions

userRecord ou previousRecord n'est pas valide pour cette séquence.

- ou -

data ne peut pas être ajouté car il est supérieur à la taille d'enregistrement maximale.

- ou -

reservations n'a pas été créé par cette séquence d'enregistrement.

Un ou plusieurs arguments ont la valeur null.

userRecord ou previousRecord n'est pas compris entre le numéro de base et les derniers numéros de cette séquence.

La requête n'a pas pu être exécutée en raison d'une exception d'E/S inattendue.

- ou -

La requête n'a pas pu être exécutée en raison d'une erreur de périphérique d'E/S.

L'opération ne peut pas être effectuée car la séquence d'enregistrement a été ouverte en lecture seule.

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

La mémoire disponible n'est pas suffisante pour continuer l'exécution du programme.

La séquence d'enregistrement est complète.

L'accès à la séquence de journal spécifiée est refusé par le système d'exploitation.

Remarques

Vous devez passer le IAsyncResult retourné par cette méthode à la méthode EndAppend pour vous assurer que l'opération d'ajout est terminée et que des ressources peuvent être libérées de façon appropriée. Si une erreur s'est produite pendant un ajout asynchrone, une exception n'est pas levée tant que la méthode EndAppend n'est pas appelée avec le IAsyncResult retourné par cette méthode.

Les données contenues dans le paramètre data seront concaténées dans un tableau d'octets unique pour l'ajouter en tant qu'enregistrement. Toutefois, il n'est pas possible de rétablir les segments du tableau en fractionnant les données lors de la lecture de l'enregistrement.

Normalement, cette méthode se termine avant que l'enregistrement ait été écrit. Pour vous assurer de l'écriture d'un enregistrement, spécifiez l'indicateur ForceFlush à l'aide du paramètre recordAppendOptions ou appelez la méthode Flush.

S’applique à

BeginAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, AsyncCallback, Object)

Commence une opération d'ajout asynchrone. Cette méthode ne peut pas être héritée.

public:
 virtual IAsyncResult ^ BeginAppend(ArraySegment<System::Byte> data, System::IO::Log::SequenceNumber nextUndoRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, System::IO::Log::ReservationCollection ^ reservations, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAppend (ArraySegment<byte> data, System.IO.Log.SequenceNumber nextUndoRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, System.IO.Log.ReservationCollection reservations, AsyncCallback callback, object state);
abstract member BeginAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
override this.BeginAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
Public Function BeginAppend (data As ArraySegment(Of Byte), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, reservations As ReservationCollection, callback As AsyncCallback, state As Object) As IAsyncResult

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

Une valeur valide de RecordAppendOptions qui spécifie comment les données doivent être écrites.

reservations
ReservationCollection

ReservationCollection qui contient la réservation qui doit être utilisée pour cet enregistrement.

callback
AsyncCallback

Rappel asynchrone facultatif à appeler lorsque l'ajout est terminé.

state
Object

Objet fourni par l'utilisateur qui distingue cette requête d'ajout asynchrone spécifique des autres requêtes.

Retours

IAsyncResult qui représente l'ajout asynchrone qui pourrait toujours être en attente.

Implémente

Exceptions

userRecord ou previousRecord n'est pas valide pour cette séquence.

- ou -

data ne peut pas être ajouté car il est supérieur à la taille d'enregistrement maximale.

- ou -

reservations n'a pas été créé par cette séquence d'enregistrement.

Un ou plusieurs arguments ont la valeur null.

userRecord ou previousRecord n'est pas compris entre le numéro de base et les derniers numéros de cette séquence.

La requête n'a pas pu être exécutée en raison d'une exception d'E/S inattendue.

- ou -

La requête n'a pas pu être exécutée en raison d'une erreur de périphérique d'E/S.

L'opération ne peut pas être effectuée car la séquence d'enregistrement a été ouverte en lecture seule.

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

La mémoire disponible n'est pas suffisante pour continuer l'exécution du programme.

La séquence d'enregistrement est complète.

L'accès à la séquence de journal spécifiée est refusé par le système d'exploitation.

Aucune réservation assez grande pour data ne se trouve dans reservations.

Remarques

Vous devez passer le IAsyncResult retourné par cette méthode à la méthode EndAppend pour vous assurer que l'opération d'ajout est terminée et que des ressources peuvent être libérées de façon appropriée. Si une erreur s'est produite pendant un ajout asynchrone, une exception n'est pas levée tant que la méthode EndAppend n'est pas appelée avec le IAsyncResult retourné par cette méthode.

Les données contenues dans le paramètre data seront concaténées dans un tableau d'octets unique pour l'ajouter en tant qu'enregistrement. Toutefois, il n'est pas possible de rétablir les segments du tableau en fractionnant les données lors de la lecture de l'enregistrement.

L'enregistrement ajouté utilisera l'espace qui a été réservé précédemment, à l'aide d'une réservation spécifiée par le paramètre reservations. Si l'ajout réussit, il utilisera la plus petite zone de réservation qui peut stocker les données et cette zone de réservation sera supprimée de la collection.

Normalement, cette méthode se termine avant que l'enregistrement ait été écrit. Pour vous assurer de l'écriture d'un enregistrement, spécifiez l'indicateur ForceFlush à l'aide du paramètre recordAppendOptions ou appelez la méthode Flush.

S’applique à

BeginAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, AsyncCallback, Object)

Commence une opération d'ajout asynchrone. Cette méthode ne peut pas être héritée.

public:
 virtual IAsyncResult ^ BeginAppend(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber userRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, System::IO::Log::ReservationCollection ^ reservations, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAppend (System.Collections.Generic.IList<ArraySegment<byte>> data, System.IO.Log.SequenceNumber userRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, System.IO.Log.ReservationCollection reservations, AsyncCallback callback, object state);
abstract member BeginAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
override this.BeginAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
Public Function BeginAppend (data As IList(Of ArraySegment(Of Byte)), userRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, reservations As ReservationCollection, callback As AsyncCallback, state As Object) As IAsyncResult

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.

userRecord
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

Une valeur valide de RecordAppendOptions qui spécifie comment les données doivent être écrites.

reservations
ReservationCollection

ReservationCollection qui contient la réservation qui doit être utilisée pour cet enregistrement.

callback
AsyncCallback

Rappel asynchrone facultatif à appeler lorsque l'ajout est terminé.

state
Object

Objet fourni par l'utilisateur qui distingue cette requête d'ajout asynchrone spécifique des autres requêtes.

Retours

IAsyncResult qui représente l'ajout asynchrone qui pourrait toujours être en attente.

Implémente

Exceptions

userRecord ou previousRecord n'est pas valide pour cette séquence.

- ou -

data ne peut pas être ajouté car il est supérieur à la taille d'enregistrement maximale.

- ou -

reservations n'a pas été créé par cette séquence d'enregistrement.

Un ou plusieurs arguments ont la valeur null.

userRecord ou previousRecord n'est pas compris entre le numéro de base et les derniers numéros de cette séquence.

La requête n'a pas pu être exécutée en raison d'une exception d'E/S inattendue.

- ou -

La requête n'a pas pu être exécutée en raison d'une erreur de périphérique d'E/S.

L'opération ne peut pas être effectuée car la séquence d'enregistrement a été ouverte en lecture seule.

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

La mémoire disponible n'est pas suffisante pour continuer l'exécution du programme.

La séquence d'enregistrement est complète.

L'accès à la séquence de journal spécifiée est refusé par le système d'exploitation.

Aucune réservation assez grande pour data ne se trouve dans reservations.

Remarques

Vous devez passer le IAsyncResult retourné par cette méthode à la méthode EndAppend pour vous assurer que l'opération d'ajout est terminée et que des ressources peuvent être libérées de façon appropriée. Si une erreur s'est produite pendant un ajout asynchrone, une exception n'est pas levée tant que la méthode EndAppend n'est pas appelée avec le IAsyncResult retourné par cette méthode.

Les données contenues dans le paramètre data seront concaténées dans un tableau d'octets unique pour l'ajouter en tant qu'enregistrement. Toutefois, il n'est pas possible de rétablir les segments du tableau en fractionnant les données lors de la lecture de l'enregistrement.

L'enregistrement ajouté utilisera l'espace qui a été réservé précédemment, à l'aide d'une réservation spécifiée par le paramètre reservations. Si l'ajout réussit, il utilisera la plus petite zone de réservation qui peut stocker les données et cette zone de réservation sera supprimée de la collection.

Normalement, cette méthode se termine avant que l'enregistrement ait été écrit. Pour vous assurer de l'écriture d'un enregistrement, spécifiez l'indicateur ForceFlush à l'aide du paramètre recordAppendOptions ou appelez la méthode Flush.

S’applique à