Udostępnij za pośrednictwem


LogRecordSequence.ReadLogRecords Metoda

Definicja

Zwraca wyliczalną kolekcję rekordów w sekwencji. Nie można dziedziczyć tej metody.

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)

Parametry

start
SequenceNumber

Numer sekwencji pierwszego rekordu, w którym rozpoczyna się odczyt.

logRecordEnum
LogRecordEnumeratorType

Prawidłowa LogRecordEnumeratorType wartość określająca sposób (czyli do przodu lub do tyłu), w którym rekordy powinny być odczytywane z elementu LogRecordSequence.

Zwraca

Wyliczenie kolekcji rekordów w sekwencji.

Implementuje

Wyjątki

start jest nieprawidłowa dla tej sekwencji.

-lub-

Nazwa logRecordEnum jest niepoprawna.

-lub-

Określony element nie został znaleziony w kolekcji.

start nie znajduje się między numerami podstawowymi i ostatnimi sekwencjami tej sekwencji.

Nie można wykonać żądania z powodu nieoczekiwanego wyjątku we/wy.

-lub-

Nie można wykonać żądania z powodu błędu urządzenia we/wy.

-Lub

Rozmiar buforu używany do zapisu rekordu dziennika jest większy niż rozmiar buforu używany do jego odczytania.

-lub-

Sekwencja rekordów jest uszkodzona.

-lub-

Określony format lub wersja pliku dziennika jest nieprawidłowa.

-lub-

Rekord został napisany z niezgodną wersją sekwencji rekordów.

Operacja jest nieprawidłowa, ponieważ wyliczenie nie zostało uruchomione. Należy wykonać wywołanie MoveNext() .

Metoda została wywołana po usunięciu sekwencji.

Za mało pamięci, aby kontynuować wykonywanie programu.

Dostęp do określonej sekwencji dzienników jest odrzucany przez system operacyjny.

Przykłady

W tym przykładzie pokazano, jak używać ReadLogRecords w pętli.

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

Uwagi

Ta metoda zwraca wyliczalną kolekcję rekordów w sekwencji. Kolejność wyliczonych rekordów zależy od wartości parametru logRecordEnum .

Dotyczy