語言

IRecordSequence.BeginWriteRestartArea 方法

定義

當在派生類別中被覆寫時,會開始非同步重啟區域寫入操作。

多載

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

當在派生類別中被覆寫時,就會開始非同步重啟區域寫入操作,使用序列中先前保留的空間。

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

當在派生類別中被覆寫時,就會開始非同步重啟區域寫入操作,使用序列中先前保留的空間。

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

當在派生類別中被覆寫時,就會開始非同步重啟區域寫入操作,使用序列中先前保留的空間。

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

參數

data
ArraySegment<Byte>

一份將被串接並附加為記錄的位元組陣列區段清單。

newBaseSequenceNumber
SequenceNumber

新的基序號。 指定的序號必須大於或等於目前的基序序號。

reservation
ReservationCollection

ReservationCollection A包含了應該用於這個重啟區域的預留。

callback
AsyncCallback

一個可選的非同步回撥,當重新啟動區域寫入完成時呼叫。

state
Object

使用者提供的物件用以區分此非同步重啟區域寫入請求與其他請求。

傳回

一個 IAsyncResult 代表非同步重啟區域寫入操作,該操作可能仍在待處理中。

備註

你應該將 IAsyncResult 此方法的回傳訊息傳給 EndWriteRestartArea 方法,以確保重新啟動區域寫入操作已完成,且資源能被適當釋放。 若在非同步重啟區域寫入操作中發生錯誤,除非 EndWriteRestartArea 該方法呼叫該方法並返回該方法, IAsyncResult 否則不會拋出例外。

參數中 data 包含的資料會被串接成一個位元組陣列,作為記錄附加。 然而,讀取記錄時並未提供將資料分割回陣列區段的機制。

當操作成功完成時,基礎序列號已被更新。 所有序號小於新基序號的日誌記錄都無法存取。

若指定 a ReservationCollection ,書面重啟區域將利用集合中預留的空間。 若方法成功,將消耗可容納資料的最小保留區,該保留區將從集合中移除。

如果記錄序列已被處理,或你傳遞了無效參數,則在此操作中會立即拋出例外。 例如,在非同步附加請求期間發生錯誤,例如在 I/O 請求中磁碟故障,當呼叫該 EndWriteRestartArea 方法時會拋出異常。

適用於

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

當在派生類別中被覆寫時,就會開始非同步重啟區域寫入操作,使用序列中先前保留的空間。

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

參數

data
IList<ArraySegment<Byte>>

一份將被串接並附加為記錄的位元組陣列區段清單。

newBaseSequenceNumber
SequenceNumber

新的基序號。 指定的序號必須大於或等於目前的基序序號。

reservation
ReservationCollection

ReservationCollection A包含了應該用於這個重啟區域的預留。

callback
AsyncCallback

一個可選的非同步回撥,當重新啟動區域寫入完成時呼叫。

state
Object

使用者提供的物件用以區分此非同步重啟區域寫入請求與其他請求。

傳回

一個 IAsyncResult 代表非同步重啟區域寫入操作,該操作可能仍在待處理中。

例外狀況

一或多個引數無效。

在寫入重啟區域時發生了 I/O 錯誤。

記錄序列無法產生足夠的空閒空間來容納新記錄。

該方法是在序列被處理後才被呼叫的。

備註

你應該將 IAsyncResult 此方法的回傳訊息傳給 EndWriteRestartArea 方法,以確保重新啟動區域寫入操作已完成,且資源能適當釋放。 若在非同步重啟區域寫入操作中發生錯誤,除非 EndWriteRestartArea 該方法呼叫該方法並返回該方法, IAsyncResult 否則不會拋出例外。

參數中 data 包含的資料會被串接成一個位元組陣列,作為記錄附加。 然而,讀取記錄時並未提供將資料分割回陣列區段的機制。

當操作成功完成時,基礎序列號已被更新。 所有序號小於新基序號的日誌記錄都無法存取。

若指定 a ReservationCollection ,書面重啟區域將利用集合中預留的空間。 若方法成功,將消耗可容納資料的最小保留區,該保留區將從集合中移除。

如果記錄序列已被處理,或你傳遞了無效參數,則在此操作中會立即拋出例外。 例如,在非同步附加請求期間發生錯誤,例如在 I/O 請求中磁碟故障,當呼叫該 EndWriteRestartArea 方法時會拋出異常。

適用於