IRecordSequence.BeginWriteRestartArea Metod

Definition

När du åsidosättas i en härledd klass påbörjar du en asynkron skrivåtgärd för omstartsområde.

Överlagringar

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

När du åsidosättas i en härledd klass påbörjar du en asynkron skrivåtgärd för omstartsområde med hjälp av utrymme som tidigare reserverats i sekvensen.

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

När du åsidosättas i en härledd klass påbörjar du en asynkron skrivåtgärd för omstartsområde med hjälp av utrymme som tidigare reserverats i sekvensen.

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

När du åsidosättas i en härledd klass påbörjar du en asynkron skrivåtgärd för omstartsområde med hjälp av utrymme som tidigare reserverats i sekvensen.

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

Parametrar

data
ArraySegment<Byte>

En lista över bytematrissegment som sammanfogas och läggs till som post.

newBaseSequenceNumber
SequenceNumber

Det nya bassekvensnumret. Det angivna sekvensnumret måste vara större än eller lika med det aktuella bassekvensnumret.

reservation
ReservationCollection

En ReservationCollection som innehåller reservationen som ska användas för det här omstartsområdet.

callback
AsyncCallback

Ett valfritt asynkront återanrop som ska anropas när omstartsområdet skrivs klart.

state
Object

Ett objekt som tillhandahålls av användaren och som skiljer den här specifika asynkrona begäran om omstartsområdesskrivning från andra begäranden.

Returer

En IAsyncResult som representerar den asynkrona skrivåtgärden för omstartsområdet, som fortfarande kan vara väntande.

Kommentarer

Du bör skicka den IAsyncResult returnerade metoden till EndWriteRestartArea metoden för att säkerställa att skrivåtgärden för omstartsområdet har slutförts och att resurser kan frigöras på rätt sätt. Om ett fel har inträffat under en asynkron omstartsområdesskrivningsåtgärd utlöses inte ett undantag förrän EndWriteRestartArea metoden anropas med den IAsyncResult som returneras av den här metoden.

Data som finns i parametern data sammanfogas till en enskild bytematris för att läggas till som post. Ingen etablering görs dock för att dela upp data i matrissegment igen när posten läse.

När åtgärden har slutförts har bassekvensnumret uppdaterats. Alla loggposter med sekvensnummer som är mindre än det nya bassekvensnumret är otillgängliga.

Om en ReservationCollection har angetts förbrukar det skriftliga omstartsområdet utrymme som tidigare har reserverats med hjälp av en reservation som finns i samlingen. Om metoden lyckas kommer den att förbruka den minsta reservationen som kan innehålla data och den reservationen tas bort från samlingen.

Om en postsekvens har tagits bort eller om du skickar ett ogiltigt argument utlöses undantag omedelbart inom den här åtgärden. Fel som inträffade under en asynkron tilläggsbegäran, till exempel ett diskfel under I/O-begäran, resulterar i undantag som utlöses när EndWriteRestartArea metoden anropas.

Gäller för

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

När du åsidosättas i en härledd klass påbörjar du en asynkron skrivåtgärd för omstartsområde med hjälp av utrymme som tidigare reserverats i sekvensen.

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

Parametrar

data
IList<ArraySegment<Byte>>

En lista över bytematrissegment som sammanfogas och läggs till som post.

newBaseSequenceNumber
SequenceNumber

Det nya bassekvensnumret. Det angivna sekvensnumret måste vara större än eller lika med det aktuella bassekvensnumret.

reservation
ReservationCollection

En ReservationCollection som innehåller reservationen som ska användas för det här omstartsområdet.

callback
AsyncCallback

Ett valfritt asynkront återanrop som ska anropas när omstartsområdet skrivs klart.

state
Object

Ett objekt som tillhandahålls av användaren och som skiljer den här specifika asynkrona begäran om omstartsområdesskrivning från andra begäranden.

Returer

En IAsyncResult som representerar den asynkrona skrivåtgärden för omstartsområdet, som fortfarande kan vara väntande.

Undantag

Ett eller flera av argumenten är ogiltiga.

Ett I/O-fel uppstod när omstartsområdet skulle skrivas.

Det gick inte att skapa tillräckligt med ledigt utrymme för att innehålla den nya posten.

Metoden anropades efter att sekvensen har tagits bort.

Kommentarer

Du bör skicka den IAsyncResult returnerade metoden till EndWriteRestartArea metoden för att säkerställa att skrivåtgärden för omstartsområdet har slutförts och att resurser kan frigöras på rätt sätt. Om ett fel har inträffat under en asynkron omstartsområdesskrivningsåtgärd utlöses inte ett undantag förrän EndWriteRestartArea metoden anropas med den IAsyncResult som returneras av den här metoden.

Data som finns i parametern data sammanfogas till en enskild bytematris för att läggas till som post. Ingen etablering görs dock för att dela upp data i matrissegment igen när posten läse.

När åtgärden har slutförts har bassekvensnumret uppdaterats. Alla loggposter med sekvensnummer som är mindre än det nya bassekvensnumret är otillgängliga.

Om en ReservationCollection har angetts förbrukar det skriftliga omstartsområdet utrymme som tidigare har reserverats med hjälp av en reservation som finns i samlingen. Om metoden lyckas kommer den att förbruka den minsta reservationen som kan innehålla data och den reservationen tas bort från samlingen.

Om en postsekvens har tagits bort eller om du skickar ett ogiltigt argument utlöses undantag omedelbart inom den här åtgärden. Fel som inträffade under en asynkron tilläggsbegäran, till exempel ett diskfel under I/O-begäran, resulterar i undantag som utlöses när EndWriteRestartArea metoden anropas.

Gäller för