Partager via


FileRecordSequence.BeginFlush(SequenceNumber, AsyncCallback, Object) Méthode

Définition

Commence une opération de vidage asynchrone, en utilisant l'espace précédemment réservé dans la séquence. Cette méthode ne peut pas être héritée.

public:
 virtual IAsyncResult ^ BeginFlush(System::IO::Log::SequenceNumber sequenceNumber, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginFlush (System.IO.Log.SequenceNumber sequenceNumber, AsyncCallback callback, object state);
abstract member BeginFlush : System.IO.Log.SequenceNumber * AsyncCallback * obj -> IAsyncResult
override this.BeginFlush : System.IO.Log.SequenceNumber * AsyncCallback * obj -> IAsyncResult
Public Function BeginFlush (sequenceNumber As SequenceNumber, callback As AsyncCallback, state As Object) As IAsyncResult

Paramètres

sequenceNumber
SequenceNumber

Le numéro de séquence de l'enregistrement le plus récent doit être écrit. Si SequenceNumber n'est pas valide, alors tous les enregistrements doivent être écrits.

callback
AsyncCallback

Rappel asynchrone facultatif à appeler lorsque le vidage est terminé.

state
Object

Objet fourni par l'utilisateur qui distingue cette requête de vidage asynchrone particulière des autres requêtes.

Retours

Objet IAsyncResult qui représente l'opération de vidage asynchrone qui pourrait être toujours en attente.

Implémente

Exceptions

Un ou plusieurs arguments ne sont pas valides.

sequenceNumber n'est pas valide pour cette séquence.

sequenceNumber n'est pas compris entre le numéro de base et le dernier numéro de la séquence.

Une erreur d'E/S s'est produite lors du vidage des données.

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.

Remarques

Vous devez passer l'objet IAsyncResult retourné par la méthode actuelle à la méthode EndFlush pour vous assurer de la fin du vidage et de la libération appropriée des ressources. Si une erreur se produit pendant un vidage asynchrone, une exception n'est pas levée tant que la méthode EndFlush n'est pas appelée avec le IAsyncResult retourné par cette méthode.

L'appel de cette méthode permet de vous assurer que tous les enregistrements ajoutés à la FileRecordSequence sont écrits de façon durable.

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 de vidage asynchrone, par exemple, une défaillance du disque pendant la requête d'E/S, les exceptions sont levées lorsque la méthode EndFlush est appelée.

S’applique à