FileRecordSequence.ReadLogRecords Methode

Definition

Gibt eine zählbare Auflistung von Datensätzen in der Sequenz zurück. Diese Methode kann nicht vererbt werden.

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)

Parameter

start
SequenceNumber

Die Sequenznummer des ersten Datensatzes, bei dem mit dem Lesen begonnen wird.

logRecordEnum
LogRecordEnumeratorType

Ein gültiger LogRecordEnumeratorType-Wert, der die Art (vorwärts oder rückwärts) angibt, in der Datensätze aus einer LogRecordSequence gelesen werden sollten.

Gibt zurück

Eine zählbare Auflistung von Datensätzen in der Sequenz.

Implementiert

Ausnahmen

Mindestens ein Argument liegt außerhalb des Bereichs.

Der Vorgang kann nicht ausgeführt werden, da die Datensatzsequenz mit lesegeschütztem Zugriff geöffnet wurde.

Die Datensatzsequenz ist beschädigt.

- oder -

Der Datensatz wurde mit einer inkompatiblen Version der Datensatzsequenz geschrieben.

Die Enumeration wurde beendet.

- oder -

Die Enumeration wurde nicht gestartet. Ein Aufruf von MoveNext() muss erfolgen.

Die Methode wurde aufgerufen, nachdem die Sequenz verworfen wurde.

Der Arbeitsspeicher reicht nicht aus, um die Ausführung des Programms fortzusetzen.

Beispiele

Im folgenden Beispiel wird dargestellt, wie Sie mit dieser Methode die Datensätze in einer Protokollsequenz lesen können.

// Read the records added to the log.
    public void ReadRecords()
    {
        Encoding enc = Encoding.Unicode;

        Console.WriteLine();

        Console.WriteLine("Reading Log Records...");
        try
        {
            foreach (LogRecord record in this.sequence.ReadLogRecords(this.sequence.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);
            }
        }
        catch (Exception e)
        {
            Console.WriteLine("Exception {0} {1}", e.GetType(), e.Message);
        }

        Console.WriteLine();
    }
' Read the records added to the log. 
    Public Sub ReadRecords()
        Dim enc As Encoding = Encoding.Unicode

        Console.WriteLine()

        Console.WriteLine("Reading Log Records...")
        Try
            For Each record In Me.sequence.ReadLogRecords(Me.sequence.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
        Catch e As Exception
            Console.WriteLine("Exception {0} {1}", e.GetType(), e.Message)
        End Try

        Console.WriteLine()
    End Sub

Hinweise

Diese Methode gibt eine aufzählbare Auflistung von Datensätzen in der Sequenz zurück. Die Reihenfolge der aufgelisteten Datensätze hängt vom Wert des logRecordEnum-Parameters ab.

Gilt für: