FileRecordSequence.ReadLogRecords Metoda

Definice

Vrátí výčet kolekcí záznamů v sekvenci. Tuto metodu nelze dědit.

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

Pořadové číslo prvního záznamu, kde začíná čtení.

logRecordEnum
LogRecordEnumeratorType

Platná LogRecordEnumeratorType hodnota, která určuje způsob (tj. dopředu nebo dozadu), ve kterém se mají číst záznamy z LogRecordSequence.

Návraty

Výčetná kolekce záznamů v sekvenci.

Implementuje

Výjimky

Jeden nebo více argumentů je mimo rozsah.

Operaci nelze provést, protože sekvence záznamů byla otevřena s přístupem jen pro zápis.

Sekvence záznamů je poškozena.

-nebo-

Záznam byl napsán s nekompatibilní verzí sekvence záznamů.

Výčet skončil.

-nebo-

Výčet nebyl spuštěn. Musí být MoveNext() provedeno volání.

Metoda byla volána po odstranění sekvence.

K pokračování v provádění programu není dostatek paměti.

Příklady

Následující příklad ukazuje, jak můžete tuto metodu použít ke čtení záznamů v sekvenci protokolů.

// 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

Poznámky

Tato metoda vrátí výčtovou kolekci záznamů v sekvenci. Pořadí výčtových záznamů závisí na hodnotě parametru logRecordEnum .

Platí pro