LogRecordSequence.ReadLogRecords Metod

Definition

Returnerar en uppräkningsbar samling poster i sekvensen. Den här metoden kan inte ärvas.

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)

Parametrar

start
SequenceNumber

Sekvensnumret för den första posten där läsningen börjar.

logRecordEnum
LogRecordEnumeratorType

Ett giltigt LogRecordEnumeratorType värde som anger det sätt (dvs. framåt eller bakåt) på vilket poster ska läsas från en LogRecordSequence.

Returer

En uppräkningsbar samling poster i sekvensen.

Implementeringar

Undantag

start är inte giltig för den här sekvensen.

-eller-

logRecordEnum är ogiltigt.

-eller-

Det angivna elementet hittades inte i samlingen.

start är inte mellan bas- och sista sekvensnumren i den här sekvensen.

Det gick inte att utföra begäran på grund av ett oväntat I/O-undantag.

-eller-

Det gick inte att utföra begäran på grund av ett I/O-enhetsfel.

-eller

Buffertstorleken som används för att skriva loggposten är större än buffertstorleken som används för att läsa den.

-eller-

Postsekvensen är skadad.

-eller-

Det angivna loggfilsformatet eller versionen är ogiltigt.

-eller-

Posten skrevs med en inkompatibel version av postsekvensen.

Åtgärden är ogiltig eftersom uppräkningen inte har startats. Ett anrop till MoveNext() måste göras.

Metoden anropades efter att sekvensen har tagits bort.

Det finns inte tillräckligt med minne för att fortsätta körningen av programmet.

Åtkomst för den angivna loggsekvensen nekas av operativsystemet.

Exempel

Det här exemplet visar hur du använder ReadLogRecords i en loop.

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

Kommentarer

Den här metoden returnerar en uppräkningsbar samling poster i sekvensen. Ordningen på de uppräknade posterna beror på parameterns logRecordEnum värde.

Gäller för