IRecordSequence 介面
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供記錄順序的泛型介面。
public interface class IRecordSequence : IDisposable
public interface IRecordSequence : IDisposable
type IRecordSequence = interface
interface IDisposable
Public Interface IRecordSequence
Implements IDisposable
- 衍生
- 實作
備註
IRecordSequence 介面會提供記錄導向資料流的抽象介面。 IRecordSequence 執行個體可以用來讀取和寫入記錄檔記錄。
IRecordSequence 介面提供下列功能:
使用 Append 方法,附加記錄檔記錄。
使用 ReadLogRecords 方法,讀取附加的記錄。
使用 WriteRestartArea 方法,寫入特殊的重新啟動記錄。
使用 ReadRestartAreas 方法,從最近寫入的重新啟動記錄中讀取重新啟動記錄。
使用 Flush 方法將記錄排清到永久性存放區。
保留空間以便附加記錄。
將記錄檔基底往前移以釋放記錄空間。
接收 TailPinned 事件通知以移動記錄檔基底來釋放空間。
記錄檔記錄會附加到 IRecordSequence 執行個體,而且每個記錄檔記錄會被賦予唯一的序號。 序號會在指定的記錄順序中嚴謹地以固定方式增加。 記錄檔記錄由不透明的資料組成,這些資料是提供給位元組 ArraySegments 之 IRecordSequence 中的 IList 執行個體。
IRecordSequence 介面也會公開一些提供記錄界限相關資訊的基本屬性。
BaseSequenceNumber 屬性包含記錄順序中第一個有效記錄的序號。
LastSequenceNumber 屬性包含保證大於上一個附加記錄之序號的序號。
RestartSequenceNumber 屬性包含最後一個寫入之重新啟動區域的序號。
MaximumRecordLength 屬性包含可在順序中附加或讀取之最大記錄的大小。
ReservedBytes 屬性包含在此記錄順序中建立之所有保留區的總大小。
如果 RetryAppend 屬性設為
true
,且 Append 作業因為順序中沒有空間而失敗,則記錄順序會嘗試釋放空間,然後重試此「附加」作業。
屬性
BaseSequenceNumber |
在衍生類別中覆寫時,取得目前 IRecordSequence 中第一個有效記錄的序號。 |
LastSequenceNumber |
在衍生類別中覆寫時,取得大於上一筆附加記錄的序號。 |
MaximumRecordLength |
在衍生類別中覆寫時,取得可在此順序中附加或讀取的最大記錄大小 (以位元組為單位)。 |
ReservedBytes |
在衍生類別中覆寫時,取得已保留的位元組總數。 |
RestartSequenceNumber |
在衍生類別中覆寫時,取得最近寫入之重新啟動區域的序號。 |
RetryAppend |
取得或設定值,這個值表示是否在記錄檔已滿時自動重試附加作業。 |
方法
事件
TailPinned |
會在記錄順序判斷必須將結尾往前移動時發生。 |