Bagikan melalui


LogRecordSequence.BeginWriteRestartArea Metode

Definisi

Memulai operasi penulisan area hidupkan ulang asinkron.

Overload

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

Memulai operasi penulisan area hidupkan ulang asinkron, menggunakan ruang yang sebelumnya dicadangkan dalam urutan. Metode ini tidak dapat diwariskan.

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

Memulai operasi penulisan area hidupkan ulang asinkron, menggunakan ruang yang sebelumnya dicadangkan dalam urutan. Metode ini tidak dapat diwariskan.

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

Memulai operasi penulisan area hidupkan ulang asinkron, menggunakan ruang yang sebelumnya dicadangkan dalam urutan. Metode ini tidak dapat diwariskan.

public:
 virtual IAsyncResult ^ BeginWriteRestartArea(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber newBaseSeqNum, System::IO::Log::ReservationCollection ^ reservationCollection, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginWriteRestartArea (System.Collections.Generic.IList<ArraySegment<byte>> data, System.IO.Log.SequenceNumber newBaseSeqNum, System.IO.Log.ReservationCollection reservationCollection, AsyncCallback callback, object state);
abstract member BeginWriteRestartArea : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
override this.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)), newBaseSeqNum As SequenceNumber, reservationCollection As ReservationCollection, callback As AsyncCallback, state As Object) As IAsyncResult

Parameter

data
IList<ArraySegment<Byte>>

Daftar segmen array byte yang akan digabungkan dan ditambahkan sebagai rekaman.

newBaseSeqNum
SequenceNumber

Nomor urutan dasar baru. Angka urutan yang ditentukan harus lebih besar dari atau sama dengan nomor urutan dasar saat ini.

reservationCollection
ReservationCollection

ReservationCollection yang berisi reservasi yang harus digunakan untuk area hidupkan ulang ini.

callback
AsyncCallback

Panggilan balik asinkron opsional, yang akan dipanggil ketika penulisan area hidupkan ulang selesai.

state
Object

Objek yang disediakan pengguna yang membedakan permintaan tulis area hidupkan ulang asinkron khusus ini dari permintaan lain.

Mengembalikan

Yang IAsyncResult mewakili operasi penulisan area hidupkan ulang asinkron, yang masih bisa tertunda.

Penerapan

Pengecualian

newBaseSeqNum tidak valid untuk urutan ini.

-atau-

Nomor urutan mulai enumerasi log yang ditentukan tidak valid.

-atau-

data tidak dapat ditambahkan karena lebih besar dari ukuran rekaman maksimum.

-atau-

reservationCollection tidak dibuat oleh urutan rekaman ini.

Satu atau beberapa parameter adalah null.

Ekor arsip baru atau yang sudah ada atau dasar log aktif tidak valid.

-atau-

newBaseSeqNum bukan antara nomor urutan dasar dan urutan terakhir dari urutan ini.

Permintaan tidak dapat dilakukan karena pengecualian I/O yang tidak terduga.

-atau-

Permintaan tidak dapat dilakukan karena kesalahan perangkat I/O.

Metode ini dipanggil setelah urutan dibuang.

Memori tidak cukup untuk melanjutkan eksekusi program.

Akses untuk urutan log yang ditentukan ditolak oleh sistem operasi.

Urutan rekaman penuh.

Keterangan

Anda harus meneruskan yang IAsyncResult dikembalikan oleh metode ini ke EndWriteRestartArea metode untuk memastikan bahwa operasi penulisan area hidupkan ulang telah selesai dan sumber daya dapat dibebaskan dengan tepat. Jika terjadi kesalahan selama operasi penulisan area hidupkan ulang asinkron, pengecualian tidak dilemparkan sampai EndWriteRestartArea 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.

Ketika operasi berhasil diselesaikan, nomor urutan dasar telah diperbarui. Semua rekaman log dengan nomor urut kurang dari nomor urutan dasar baru tidak dapat diakses.

ReservationCollection Jika ditentukan, area hidupkan ulang tertulis akan menggunakan ruang yang telah dipesan sebelumnya, menggunakan reservasi yang terkandung dalam koleksi. Jika metode berhasil, metode akan menggunakan reservasi terkecil yang dapat menyimpan data, dan reservasi tersebut akan dihapus dari koleksi.

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 EndWriteRestartArea metode dipanggil.

Berlaku untuk

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

Memulai operasi penulisan area hidupkan ulang asinkron, menggunakan ruang yang sebelumnya dicadangkan dalam urutan. Metode ini tidak dapat diwariskan.

public:
 virtual IAsyncResult ^ BeginWriteRestartArea(ArraySegment<System::Byte> data, System::IO::Log::SequenceNumber newBaseSeqNum, System::IO::Log::ReservationCollection ^ reservation, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginWriteRestartArea (ArraySegment<byte> data, System.IO.Log.SequenceNumber newBaseSeqNum, 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
override this.BeginWriteRestartArea : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
Public Function BeginWriteRestartArea (data As ArraySegment(Of Byte), newBaseSeqNum As SequenceNumber, reservation As ReservationCollection, callback As AsyncCallback, state As Object) As IAsyncResult

Parameter

data
ArraySegment<Byte>

Segmen array byte yang akan digabungkan dan ditambahkan sebagai rekaman.

newBaseSeqNum
SequenceNumber

Nomor urutan dasar baru. Angka urutan yang ditentukan harus lebih besar dari atau sama dengan nomor urutan dasar saat ini.

reservation
ReservationCollection

ReservationCollection yang berisi reservasi yang harus digunakan untuk area hidupkan ulang ini.

callback
AsyncCallback

Panggilan balik asinkron opsional, yang akan dipanggil ketika penulisan area hidupkan ulang selesai.

state
Object

Objek yang disediakan pengguna yang membedakan permintaan tulis area hidupkan ulang asinkron khusus ini dari permintaan lain.

Mengembalikan

Yang IAsyncResult mewakili operasi penulisan area hidupkan ulang asinkron, yang masih bisa tertunda.

Penerapan

Pengecualian

newBaseSeqNum tidak valid untuk urutan ini.

-atau-

Nomor urutan mulai enumerasi log yang ditentukan tidak valid.

-atau-

data tidak dapat ditambahkan karena lebih besar dari ukuran rekaman maksimum.

-atau-

reservation tidak dibuat oleh urutan rekaman ini.

Satu atau beberapa parameter adalah null.

Ekor arsip baru atau yang sudah ada atau dasar log aktif tidak valid.

-atau-

newBaseSeqNum bukan antara nomor urutan dasar dan urutan terakhir dari urutan ini.

Permintaan tidak dapat dilakukan karena pengecualian I/O yang tidak terduga.

-atau-

Permintaan tidak dapat dilakukan karena kesalahan perangkat I/O.

Metode ini dipanggil setelah urutan dibuang.

Memori tidak cukup untuk melanjutkan eksekusi program.

Akses untuk urutan log yang ditentukan ditolak oleh sistem operasi.

Urutan rekaman penuh.

Keterangan

Anda harus meneruskan yang IAsyncResult dikembalikan oleh metode ini ke EndWriteRestartArea metode untuk memastikan bahwa operasi penulisan area hidupkan ulang telah selesai dan sumber daya dapat dibebaskan dengan tepat. Jika terjadi kesalahan selama operasi penulisan area hidupkan ulang asinkron, pengecualian tidak dilemparkan sampai EndWriteRestartArea 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.

Ketika operasi berhasil diselesaikan, nomor urutan dasar telah diperbarui. Semua rekaman log dengan nomor urut kurang dari nomor urutan dasar baru tidak dapat diakses.

ReservationCollection Jika ditentukan, area hidupkan ulang tertulis akan menggunakan ruang yang telah dipesan sebelumnya, menggunakan reservasi yang terkandung dalam koleksi. Jika metode berhasil, metode akan menggunakan reservasi terkecil yang dapat menyimpan data, dan reservasi tersebut akan dihapus dari koleksi.

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 EndWriteRestartArea metode dipanggil.

Berlaku untuk