Bahasa

LogRecordSequence.BeginFlush(SequenceNumber, AsyncCallback, Object) Metode

Definisi

Memulai operasi flush asinkron, menggunakan ruang yang sebelumnya dicadangkan secara berurutan. Metode ini tidak dapat diwariskan.

public:
 virtual IAsyncResult ^ BeginFlush(System::IO::Log::SequenceNumber sequenceNumber, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginFlush(System.IO.Log.SequenceNumber sequenceNumber, AsyncCallback callback, object state);
abstract member BeginFlush : System.IO.Log.SequenceNumber * AsyncCallback * obj -> IAsyncResult
override this.BeginFlush : System.IO.Log.SequenceNumber * AsyncCallback * obj -> IAsyncResult
Public Function BeginFlush (sequenceNumber As SequenceNumber, callback As AsyncCallback, state As Object) As IAsyncResult

Parameter

sequenceNumber
SequenceNumber

Nomor urut rekaman terbaru yang harus ditulis. Jika ini SequenceNumber tidak valid, maka semua rekaman harus ditulis.

callback
AsyncCallback

Panggilan balik asinkron opsional, yang akan dipanggil ketika flush selesai.

state
Object

Objek yang disediakan pengguna yang membedakan permintaan flush asinkron khusus ini dari permintaan lain.

Mengembalikan

Yang IAsyncResult mewakili operasi flush asinkron, yang masih bisa tertunda.

Penerapan

Pengecualian

sequenceNumber tidak valid untuk urutan ini.

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

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

Log yang ditentukan tidak memiliki batasan apa pun. Satu atau beberapa batasan harus dibuat sebelum urutan rekaman dapat digunakan.

Operasi tidak dapat dilakukan karena urutan rekaman dibuka dengan akses baca-saja.

Metode ini dipanggil setelah urutan dibuang.

Memori tidak cukup untuk melanjutkan eksekusi program.

Urutan rekaman penuh.

Akses untuk urutan log yang ditentukan ditolak oleh sistem operasi.

Keterangan

Anda harus meneruskan yang IAsyncResult dikembalikan oleh metode saat ini ke EndFlush metode untuk memastikan bahwa flush selesai dan sumber daya dibeberkan dengan tepat. Jika kesalahan terjadi selama flush asinkron, pengecualian tidak dilemparkan sampai EndFlush metode dipanggil dengan yang IAsyncResult dikembalikan oleh metode ini.

Memanggil metode ini memastikan bahwa semua rekaman yang telah ditambahkan ke LogRecordSequence ditulis secara durab.

Jika urutan rekaman telah dibuang, atau jika Anda meneruskan argumen yang tidak valid, pengecualian segera dilemparkan dalam operasi ini. Kesalahan yang terjadi selama permintaan flush asinkron, misalnya, kegagalan disk selama permintaan I/O, akan mengakibatkan pengecualian dilemparkan ketika EndFlush metode dipanggil.

Berlaku untuk