Compartilhar via


FileRecordSequence.ReadLogRecords Método

Definição

Retorna uma coleção enumerável de registros na sequência. Esse método não pode ser herdado.

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)

Parâmetros

start
SequenceNumber

O número de sequência do primeiro registro em que a leitura começa.

logRecordEnum
LogRecordEnumeratorType

Um valor LogRecordEnumeratorType válido que especifica a maneira (ou seja, para frente ou para trás) como os registros devem ser lidos de um LogRecordSequence.

Retornos

Uma coleção enumerável de registros na sequência.

Implementações

Exceções

Um ou mais argumentos estão fora do intervalo.

Não é possível efetuar a operação porque a sequência de registros foi aberta com acesso somente gravação.

A sequência de registros está corrompida.

- ou -

O registro foi gravado com uma versão incompatível da sequência de registros.

A enumeração terminou.

- ou -

A enumeração não foi iniciada. Uma chamada para MoveNext() deve ser feita.

O método foi chamado depois que a sequência foi descartada.

Não há memória suficiente para continuar a execução do programa.

Exemplos

O exemplo a seguir mostra como você pode usar esse método para ler os registros em uma sequência de log.

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

Comentários

Esse método retorna uma coleção enumerável de registros na sequência. A ordem dos registros enumerados depende do valor do logRecordEnum parâmetro .

Aplica-se a