IRecordSequence.BeginReserveAndAppend Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Při přepsání v odvozené třídě zahájí asynchronní rezervu a operaci připojení.
Přetížení
| Name | Description |
|---|---|
| BeginReserveAndAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[], AsyncCallback, Object) |
Při přepsání v odvozené třídě zahájí asynchronní rezervu a operaci 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í rezervu a operaci připojení. |
BeginReserveAndAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[], AsyncCallback, Object)
Při přepsání v odvozené třídě zahájí asynchronní rezervu a operaci 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, která určuje způsob zápisu RecordAppendOptions dat.
- reservationCollection
- ReservationCollection
Kolekce rezervací, ve které se mají rezervace provádět.
- reservations
- Int64[]
Rezervace, které se mají provést, v bajtech.
- callback
- AsyncCallback
Volitelné asynchronní zpětné volání, které se má volat při dokončení připojení.
- state
- Object
Objekt poskytovaný uživatelem, který rozlišuje tento konkrétní asynchronní přidávací požadavek od jiných požadavků.
Návraty
Představuje IAsyncResult tuto asynchronní operaci, která může být stále čekající.
Výjimky
Jeden nebo více 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 zahrnutí nového záznamu nebo vytvořit rezervaci.
Metoda byla volána po odstranění sekvence.
Poznámky
Tuto metodu IAsyncResult byste měli předat EndReserveAndAppend vrácenou touto metodou, 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í, výjimka není vyvolána, dokud EndReserveAndAppend metoda není volána s IAsyncResult vrácenou touto metodou.
Data obsažená v parametru data se zřetězí do jednoho bajtového pole pro připojení jako záznam. Při čtení záznamu však není provedeno žádné zřizování pro rozdělení dat zpět do segmentů 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í se tato metoda může dokončit před zápisem záznamu. Pokud chcete zajistit, aby byl záznam zapsán, zadejte ForceFlush příznak pomocí parametru recordAppendOptions nebo volejte metodu Flush .
Pokud je posloupnost záznamů uvolněna nebo pokud předáte neplatný argument, výjimky se v rámci této operace vyvolá okamžitě. 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, způsobí 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í rezervu a operaci 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, která určuje způsob zápisu RecordAppendOptions dat.
- reservationCollection
- ReservationCollection
Kolekce rezervací, ve které se mají rezervace provádět.
- reservations
- Int64[]
Rezervace, které se mají provést, v bajtech.
- callback
- AsyncCallback
Volitelné asynchronní zpětné volání, které se má volat při dokončení připojení.
- state
- Object
Objekt poskytovaný uživatelem, který rozlišuje tento konkrétní asynchronní přidávací požadavek od jiných požadavků.
Návraty
Představuje IAsyncResult tuto asynchronní operaci, která může být stále čekající.
Výjimky
Jeden nebo více 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 zahrnutí nového záznamu nebo vytvořit rezervaci.
Metoda byla volána po odstranění sekvence.
Poznámky
Tuto metodu IAsyncResult byste měli předat EndReserveAndAppend vrácenou touto metodou, 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í, výjimka není vyvolána, dokud EndReserveAndAppend metoda není volána s IAsyncResult vrácenou touto metodou.
Data obsažená v parametru data se zřetězí do jednoho bajtového pole pro připojení jako záznam. Při čtení záznamu však není provedeno žádné zřizování pro rozdělení dat zpět do segmentů 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í se tato metoda může dokončit před zápisem záznamu. Pokud chcete zajistit, aby byl záznam zapsán, zadejte ForceFlush příznak pomocí parametru recordAppendOptions nebo volejte metodu Flush .
Pokud je posloupnost záznamů uvolněna nebo pokud předáte neplatný argument, výjimky se v rámci této operace vyvolá okamžitě. 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, způsobí vyvolání výjimek při EndReserveAndAppend zavolání metody.