LogRecordSequence.ReadLogRecords 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
傳回順序中之記錄的可列舉集合。 這個方法無法被繼承。
public:
virtual System::Collections::Generic::IEnumerable<System::IO::Log::LogRecord ^> ^ ReadLogRecords(System::IO::Log::SequenceNumber start, System::IO::Log::LogRecordEnumeratorType logRecordEnum);
public System.Collections.Generic.IEnumerable<System.IO.Log.LogRecord> ReadLogRecords (System.IO.Log.SequenceNumber start, System.IO.Log.LogRecordEnumeratorType logRecordEnum);
abstract member ReadLogRecords : System.IO.Log.SequenceNumber * System.IO.Log.LogRecordEnumeratorType -> seq<System.IO.Log.LogRecord>
override this.ReadLogRecords : System.IO.Log.SequenceNumber * System.IO.Log.LogRecordEnumeratorType -> seq<System.IO.Log.LogRecord>
Public Function ReadLogRecords (start As SequenceNumber, logRecordEnum As LogRecordEnumeratorType) As IEnumerable(Of LogRecord)
參數
- start
- SequenceNumber
開始讀取之第一筆記錄的序號。
- logRecordEnum
- LogRecordEnumeratorType
LogRecordEnumeratorType 的有效值,其中指定從 LogRecordSequence 讀取記錄的方式 (即往前或往後讀取)。
傳回
順序中的記錄的可列舉集合。
實作
例外狀況
start
不是介於這個順序的基底序號和最後一個序號之間。
由於意外的 I/O 例外狀況,所以無法執行要求。
-或-
因為 I/O 裝置錯誤,所以無法執行要求。
-或-
用來寫入記錄的緩衝區大小,大於用來讀取記錄的緩衝區大小。
-或-
記錄順序已損毀。
-或-
指定的記錄檔格式或版本無效。
-或-
記錄是以不相容的記錄順序版本所寫入。
因為列舉尚未啟動,因此作業無效。 必須呼叫 MoveNext()。
已在處置序列之後呼叫此方法。
沒有足夠的記憶體可以繼續執行程式。
存取指定的記錄順序遭作業系統拒絕。
範例
這個範例會說明如何在迴圈中使用 ReadLogRecords。
foreach (LogRecord record in sequence1.ReadLogRecords(sequence1.BaseSequenceNumber, LogRecordEnumeratorType.Next))
{
byte[] data = new byte[record.Data.Length];
record.Data.Read(data, 0, (int)record.Data.Length);
string mystr = enc.GetString(data);
Console.WriteLine(" {0}", mystr);
}
For Each record In sequence1.ReadLogRecords(sequence1.BaseSequenceNumber, LogRecordEnumeratorType.Next)
Dim data(record.Data.Length - 1) As Byte
record.Data.Read(data, 0, CInt(Fix(record.Data.Length)))
Dim mystr As String = enc.GetString(data)
Console.WriteLine(" {0}", mystr)
Next record
備註
這個方法會傳回順序中之記錄的可列舉集合。 列舉的記錄順序取決於 logRecordEnum
參數的值。