Partager via


IRecordSequence.BeginWriteRestartArea Méthode

Définition

En cas de substitution dans une classe dérivée, commence une opération asynchrone d'écriture de la zone de reprise.

Surcharges

BeginWriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection, AsyncCallback, Object)

En cas de substitution dans une classe dérivée, une opération asynchrone d'écriture de la zone de reprise commence en utilisant l'espace précédemment réservé dans la séquence.

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

En cas de substitution dans une classe dérivée, une opération asynchrone d'écriture de la zone de reprise commence en utilisant l'espace précédemment réservé dans la séquence.

BeginWriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection, AsyncCallback, Object)

En cas de substitution dans une classe dérivée, une opération asynchrone d'écriture de la zone de reprise commence en utilisant l'espace précédemment réservé dans la séquence.

public:
 IAsyncResult ^ BeginWriteRestartArea(ArraySegment<System::Byte> data, System::IO::Log::SequenceNumber newBaseSequenceNumber, System::IO::Log::ReservationCollection ^ reservation, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginWriteRestartArea (ArraySegment<byte> data, System.IO.Log.SequenceNumber newBaseSequenceNumber, System.IO.Log.ReservationCollection reservation, AsyncCallback callback, object state);
abstract member BeginWriteRestartArea : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
Public Function BeginWriteRestartArea (data As ArraySegment(Of Byte), newBaseSequenceNumber As SequenceNumber, reservation 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.

newBaseSequenceNumber
SequenceNumber

Nouveau numéro de séquence de base. Le numéro de séquence spécifié doit être supérieur ou égal au numéro de séquence de base actuel.

reservation
ReservationCollection

ReservationCollection qui contient la réservation qui doit être utilisée pour cette zone de reprise.

callback
AsyncCallback

Rappel asynchrone facultatif à appeler lorsque l'écriture de la zone de reprise est terminée.

state
Object

Objet fourni par l'utilisateur qui distingue cette requête d'écriture asynchrone de la zone de reprise des autres requêtes.

Retours

IAsyncResult qui représente l'opération d'écriture asynchrone de la zone de reprise qui pourrait être encore en attente.

Remarques

Vous devez passer le IAsyncResult retourné par cette méthode à la méthode EndWriteRestartArea pour vous assurer que l'opération d'écriture de la zone de reprise est terminée et que des ressources peuvent être libérées de façon appropriée. Si une erreur se produit pendant une opération d'écriture asynchrone de la zone de reprise, aucune exception n'est levée tant que la méthode EndWriteRestartArea 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.

Lorsque l'opération se termine correctement, cela signifie que le numéro de séquence de base a été mis à jour. Tous les enregistrements du journal avec des numéros de séquence inférieurs au nouveau numéro de séquence de base sont inaccessibles.

Si une ReservationCollection est spécifiée, la zone de reprise écrite utilise l’espace qui a été réservé précédemment, à l’aide d’une réservation contenue dans la collection. Si la méthode réussit, elle utilisera la plus petite réservation qui peut stocker les données et cette réservation sera supprimée de la collection.

Si une séquence d’enregistrement a été supprimée ou si vous passez un argument non valide, les exceptions sont immédiatement levées dans cette opération. Lorsque des erreurs se sont produites pendant une requête d'ajout asynchrone, par exemple, une défaillance du disque pendant la requête d'E/S, les exceptions sont levées lorsque la méthode EndWriteRestartArea est appelée.

S’applique à

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

En cas de substitution dans une classe dérivée, une opération asynchrone d'écriture de la zone de reprise commence en utilisant l'espace précédemment réservé dans la séquence.

public:
 IAsyncResult ^ BeginWriteRestartArea(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber newBaseSequenceNumber, System::IO::Log::ReservationCollection ^ reservation, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginWriteRestartArea (System.Collections.Generic.IList<ArraySegment<byte>> data, System.IO.Log.SequenceNumber newBaseSequenceNumber, System.IO.Log.ReservationCollection reservation, AsyncCallback callback, object state);
abstract member BeginWriteRestartArea : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
Public Function BeginWriteRestartArea (data As IList(Of ArraySegment(Of Byte)), newBaseSequenceNumber As SequenceNumber, reservation 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.

newBaseSequenceNumber
SequenceNumber

Nouveau numéro de séquence de base. Le numéro de séquence spécifié doit être supérieur ou égal au numéro de séquence de base actuel.

reservation
ReservationCollection

ReservationCollection qui contient la réservation qui doit être utilisée pour cette zone de reprise.

callback
AsyncCallback

Rappel asynchrone facultatif à appeler lorsque l'écriture de la zone de reprise est terminée.

state
Object

Objet fourni par l'utilisateur qui distingue cette requête d'écriture asynchrone de la zone de reprise des autres requêtes.

Retours

IAsyncResult qui représente l'opération d'écriture asynchrone de la zone de reprise qui pourrait être encore en attente.

Exceptions

Un ou plusieurs arguments ne sont pas valides.

Une erreur d'E/S s'est produite lors de l'écriture de la zone de reprise.

La séquence d'enregistrement n'a pas réussi à libérer suffisamment d'espace pour stocker le nouvel enregistrement.

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

Remarques

Vous devez passer le IAsyncResult retourné par cette méthode à la méthode EndWriteRestartArea pour vous assurer que l'opération d'écriture de la zone de reprise est terminée et que des ressources peuvent être libérées de façon appropriée. Si une erreur se produit pendant une opération d'écriture asynchrone de la zone de reprise, aucune exception n'est levée tant que la méthode EndWriteRestartArea 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.

Lorsque l'opération se termine correctement, cela signifie que le numéro de séquence de base a été mis à jour. Tous les enregistrements du journal avec des numéros de séquence inférieurs au nouveau numéro de séquence de base sont inaccessibles.

Si une ReservationCollection est spécifiée, la zone de reprise écrite utilise l’espace qui a été réservé précédemment, à l’aide d’une réservation contenue dans la collection. Si la méthode réussit, elle utilisera la plus petite réservation qui peut stocker les données et cette réservation sera supprimée de la collection.

Si une séquence d’enregistrement a été supprimée ou si vous passez un argument non valide, les exceptions sont immédiatement levées dans cette opération. Lorsque des erreurs se sont produites pendant une requête d'ajout asynchrone, par exemple, une défaillance du disque pendant la requête d'E/S, les exceptions sont levées lorsque la méthode EndWriteRestartArea est appelée.

S’applique à