Sdílet prostřednictvím


IRecordSequence.BeginReserveAndAppend Metoda

Definice

Při přepsání v odvozené třídě zahájí asynchronní operaci rezervace a připojení.

Přetížení

BeginReserveAndAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[], AsyncCallback, Object)

Při přepsání v odvozené třídě zahájí asynchronní operaci rezervace a připojení.

BeginReserveAndAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[], AsyncCallback, Object)

Při přepsání v odvozené třídě zahájí asynchronní operaci rezervace a připojení.

BeginReserveAndAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[], AsyncCallback, Object)

Při přepsání v odvozené třídě zahájí asynchronní operaci rezervace a připojení.

public:
 IAsyncResult ^ BeginReserveAndAppend(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, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReserveAndAppend (ArraySegment<byte> data, System.IO.Log.SequenceNumber nextUndoRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, System.IO.Log.ReservationCollection reservationCollection, long[] reservations, AsyncCallback callback, object state);
abstract member BeginReserveAndAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * int64[] * AsyncCallback * obj -> IAsyncResult
Public Function BeginReserveAndAppend (data As ArraySegment(Of Byte), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, reservationCollection As ReservationCollection, reservations As Long(), callback As AsyncCallback, state As Object) As IAsyncResult

Parametry

data
ArraySegment<Byte>

Seznam segmentů pole bajtů, které budou zřetězeny a připojeny jako záznam.

nextUndoRecord
SequenceNumber

Pořadové číslo dalšího záznamu v pořadí zadaném uživatelem.

previousRecord
SequenceNumber

Pořadové číslo dalšího záznamu v předchozím pořadí.

recordAppendOptions
RecordAppendOptions

Platná hodnota RecordAppendOptions , která určuje způsob zápisu dat.

reservationCollection
ReservationCollection

Kolekce rezervací, ve které se mají provádět rezervace.

reservations
Int64[]

Rezervace, které se mají provést, v bajtech.

callback
AsyncCallback

Volitelné asynchronní zpětné volání, které se má volat po dokončení připojení.

state
Object

Objekt zadaný uživatelem, který odlišuje tento konkrétní asynchronní požadavek připojení od jiných požadavků.

Návraty

Jedná se o IAsyncResult asynchronní operaci, která může být stále čeká na vyřízení.

Výjimky

Nejméně jeden argument je neplatný.

Při připojování záznamu došlo k vstupně-výstupní chybě.

Sekvence záznamů nemohla vytvořit dostatek volného místa pro nový záznam nebo pro vytvoření rezervace.

Metoda byla volána po odstranění sekvence.

Poznámky

Měli byste předat IAsyncResult vrácenou touto metodou EndReserveAndAppend metodě, abyste zajistili, že operace připojení byla dokončena a prostředky lze odpovídajícím způsobem uvolnit. Pokud došlo k chybě během asynchronního připojení, nevyvolá se výjimka, dokud EndReserveAndAppend není volána metoda s IAsyncResult vrácenou touto metodou.

Data obsažená v parametru data budou zřetězena do pole s jedním bajtem pro připojení jako záznamu. Při čtení záznamu však není provedeno žádné ustanovení pro rozdělení dat zpět na segmenty pole.

Zadané rezervace se přidají do poskytnuté kolekce rezervací v atomické operaci s operací připojení záznamu. Pokud připojení selže, není vyhrazeno žádné místo.

Za normálních okolností může být tato metoda dokončena před zápisem záznamu. Chcete-li zajistit, aby záznam byl zapsán, zadejte ForceFlush příznak pomocí parametru recordAppendOptions , nebo zavolejte metodu Flush .

Pokud byla sekvence záznamů odstraněna nebo pokud předáte neplatný argument, jsou v rámci této operace okamžitě vyvolány výjimky. Chyby, ke kterým došlo během asynchronního žádosti o připojení, například selhání disku během V/V požadavku, budou mít za následek vyvolání výjimek při EndReserveAndAppend zavolání metody.

Platí pro

BeginReserveAndAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[], AsyncCallback, Object)

Při přepsání v odvozené třídě zahájí asynchronní operaci rezervace a připojení.

public:
 IAsyncResult ^ BeginReserveAndAppend(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, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReserveAndAppend (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, long[] reservations, AsyncCallback callback, object state);
abstract member BeginReserveAndAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * int64[] * AsyncCallback * obj -> IAsyncResult
Public Function BeginReserveAndAppend (data As IList(Of ArraySegment(Of Byte)), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, reservationCollection As ReservationCollection, reservations As Long(), callback As AsyncCallback, state As Object) As IAsyncResult

Parametry

data
IList<ArraySegment<Byte>>

Seznam segmentů pole bajtů, které budou zřetězeny a připojeny jako záznam.

nextUndoRecord
SequenceNumber

Pořadové číslo dalšího záznamu v pořadí zadaném uživatelem.

previousRecord
SequenceNumber

Pořadové číslo dalšího záznamu v předchozím pořadí.

recordAppendOptions
RecordAppendOptions

Platná hodnota RecordAppendOptions , která určuje způsob zápisu dat.

reservationCollection
ReservationCollection

Kolekce rezervací, ve které se mají provádět rezervace.

reservations
Int64[]

Rezervace, které se mají provést, v bajtech.

callback
AsyncCallback

Volitelné asynchronní zpětné volání, které se má volat po dokončení připojení.

state
Object

Objekt zadaný uživatelem, který odlišuje tento konkrétní asynchronní požadavek připojení od jiných požadavků.

Návraty

Jedná se o IAsyncResult asynchronní operaci, která může být stále čeká na vyřízení.

Výjimky

Nejméně jeden argument je neplatný.

Při připojování záznamu došlo k vstupně-výstupní chybě.

Sekvence záznamů nemohla vytvořit dostatek volného místa pro nový záznam nebo pro vytvoření rezervace.

Metoda byla volána po odstranění sekvence.

Poznámky

Měli byste předat IAsyncResult vrácenou touto metodou EndReserveAndAppend metodě, abyste zajistili, že operace připojení byla dokončena a prostředky lze odpovídajícím způsobem uvolnit. Pokud došlo k chybě během asynchronního připojení, nevyvolá se výjimka, dokud EndReserveAndAppend není volána metoda s IAsyncResult vrácenou touto metodou.

Data obsažená v parametru data budou zřetězena do pole s jedním bajtem pro připojení jako záznamu. Při čtení záznamu však není provedeno žádné ustanovení pro rozdělení dat zpět na segmenty pole.

Zadané rezervace se přidají do poskytnuté kolekce rezervací v atomické operaci s operací připojení záznamu. Pokud připojení selže, není vyhrazeno žádné místo.

Za normálních okolností může být tato metoda dokončena před zápisem záznamu. Chcete-li zajistit, aby záznam byl zapsán, zadejte ForceFlush příznak pomocí parametru recordAppendOptions , nebo zavolejte metodu Flush .

Pokud byla sekvence záznamů odstraněna nebo pokud předáte neplatný argument, jsou v rámci této operace okamžitě vyvolány výjimky. Chyby, ke kterým došlo během asynchronního žádosti o připojení, například selhání disku během V/V požadavku, budou mít za následek vyvolání výjimek při EndReserveAndAppend zavolání metody.

Platí pro