IRecordSequence.BeginReserveAndAppend Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Ketika ditimpa di kelas turunan, memulai operasi cadangan dan penamangan asinkron.
Overload
BeginReserveAndAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[], AsyncCallback, Object) |
Ketika ditimpa di kelas turunan, memulai operasi cadangan dan penamangan asinkron. |
BeginReserveAndAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[], AsyncCallback, Object) |
Ketika ditimpa di kelas turunan, memulai operasi cadangan dan penamangan asinkron. |
BeginReserveAndAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[], AsyncCallback, Object)
Ketika ditimpa di kelas turunan, memulai operasi cadangan dan penamangan asinkron.
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
Parameter
- data
- ArraySegment<Byte>
Daftar segmen array byte yang akan digabungkan dan ditambahkan sebagai rekaman.
- nextUndoRecord
- SequenceNumber
Nomor urut rekaman berikutnya dalam urutan yang ditentukan pengguna.
- previousRecord
- SequenceNumber
Nomor urut rekaman berikutnya dalam Urutan sebelumnya.
- recordAppendOptions
- RecordAppendOptions
Nilai RecordAppendOptions valid yang menentukan bagaimana data harus ditulis.
- reservationCollection
- ReservationCollection
Pengumpulan reservasi untuk melakukan reservasi.
- reservations
- Int64[]
Reservasi yang harus dibuat, dalam byte.
- callback
- AsyncCallback
Panggilan balik asinkron opsional, yang akan dipanggil saat penambah selesai.
- state
- Object
Objek yang disediakan pengguna yang membedakan permintaan penambahan asinkron khusus ini dari permintaan lain.
Mengembalikan
Yang IAsyncResult mewakili operasi asinkron ini, yang masih bisa tertunda.
Pengecualian
Satu atau beberapa argumen tidak valid.
Terjadi kesalahan I/O saat menambahkan rekaman.
Urutan rekaman tidak dapat membuat ruang kosong yang cukup untuk memuat rekaman baru, atau untuk membuat reservasi.
Metode ini dipanggil setelah urutan dibuang.
Keterangan
Anda harus meneruskan yang IAsyncResult dikembalikan oleh metode ini ke EndReserveAndAppend metode untuk memastikan bahwa operasi penampan telah selesai dan sumber daya dapat dibebaskan dengan tepat. Jika terjadi kesalahan selama penambalan asinkron, pengecualian tidak dilemparkan sampai EndReserveAndAppend metode dipanggil dengan yang IAsyncResult dikembalikan oleh metode ini.
Data yang terkandung dalam data
parameter akan digabungkan ke dalam array byte tunggal untuk ditambahkan sebagai rekaman. Namun, tidak ada ketentuan yang dibuat untuk memisahkan data kembali ke segmen array saat rekaman dibaca.
Reservasi yang ditentukan ditambahkan ke koleksi reservasi yang disediakan dalam operasi atomik dengan operasi penambahan rekaman. Jika penampan gagal, tidak ada ruang yang dicadangkan.
Biasanya, metode ini dapat diselesaikan sebelum rekaman ditulis. Untuk memastikan bahwa rekaman telah ditulis, tentukan ForceFlush bendera menggunakan recordAppendOptions
parameter , atau panggil Flush metode .
Jika urutan rekaman telah dibuang, atau jika Anda meneruskan argumen yang tidak valid, pengecualian segera dilemparkan dalam operasi ini. Kesalahan yang terjadi selama permintaan penautan asinkron, misalnya, kegagalan disk selama permintaan I/O, akan mengakibatkan pengecualian dilemparkan ketika EndReserveAndAppend metode dipanggil.
Berlaku untuk
BeginReserveAndAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[], AsyncCallback, Object)
Ketika ditimpa di kelas turunan, memulai operasi cadangan dan penamangan asinkron.
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
Parameter
- data
- IList<ArraySegment<Byte>>
Daftar segmen array byte yang akan digabungkan dan ditambahkan sebagai rekaman.
- nextUndoRecord
- SequenceNumber
Nomor urut rekaman berikutnya dalam urutan yang ditentukan pengguna.
- previousRecord
- SequenceNumber
Nomor urut rekaman berikutnya dalam Urutan sebelumnya.
- recordAppendOptions
- RecordAppendOptions
Nilai RecordAppendOptions valid yang menentukan bagaimana data harus ditulis.
- reservationCollection
- ReservationCollection
Pengumpulan reservasi untuk melakukan reservasi.
- reservations
- Int64[]
Reservasi yang harus dibuat, dalam byte.
- callback
- AsyncCallback
Panggilan balik asinkron opsional, yang akan dipanggil saat penambah selesai.
- state
- Object
Objek yang disediakan pengguna yang membedakan permintaan penambahan asinkron khusus ini dari permintaan lain.
Mengembalikan
Yang IAsyncResult mewakili operasi asinkron ini, yang masih bisa tertunda.
Pengecualian
Satu atau beberapa argumen tidak valid.
Terjadi kesalahan I/O saat menambahkan rekaman.
Urutan rekaman tidak dapat membuat ruang kosong yang cukup untuk memuat rekaman baru, atau untuk membuat reservasi.
Metode ini dipanggil setelah urutan dibuang.
Keterangan
Anda harus meneruskan yang IAsyncResult dikembalikan oleh metode ini ke EndReserveAndAppend metode untuk memastikan bahwa operasi penampan telah selesai dan sumber daya dapat dibebaskan dengan tepat. Jika terjadi kesalahan selama penambalan asinkron, pengecualian tidak dilemparkan sampai EndReserveAndAppend metode dipanggil dengan yang IAsyncResult dikembalikan oleh metode ini.
Data yang terkandung dalam data
parameter akan digabungkan ke dalam array byte tunggal untuk ditambahkan sebagai rekaman. Namun, tidak ada ketentuan yang dibuat untuk memisahkan data kembali ke segmen array saat rekaman dibaca.
Reservasi yang ditentukan ditambahkan ke koleksi reservasi yang disediakan dalam operasi atomik dengan operasi penambahan rekaman. Jika penampan gagal, tidak ada ruang yang dicadangkan.
Biasanya, metode ini dapat diselesaikan sebelum rekaman ditulis. Untuk memastikan bahwa rekaman telah ditulis, tentukan ForceFlush bendera menggunakan recordAppendOptions
parameter , atau panggil Flush metode .
Jika urutan rekaman telah dibuang, atau jika Anda meneruskan argumen yang tidak valid, pengecualian segera dilemparkan dalam operasi ini. Kesalahan yang terjadi selama permintaan penautan asinkron, misalnya, kegagalan disk selama permintaan I/O, akan mengakibatkan pengecualian dilemparkan ketika EndReserveAndAppend metode dipanggil.