Condividi tramite


FileRecordSequence.ReadLogRecords Metodo

Definizione

Restituisce una raccolta enumerabile di record inclusi nella sequenza. Questo metodo non può essere ereditato.

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)

Parametri

start
SequenceNumber

Numero di sequenza del primo record in cui viene avviata la lettura.

logRecordEnum
LogRecordEnumeratorType

Valore LogRecordEnumeratorType valido che specifica la direzione di lettura, ovvero in avanti o indietro, dei record da una classe LogRecordSequence.

Restituisce

raccolta enumerabile di record inclusi nella sequenza.

Implementazioni

Eccezioni

Uno o più argomenti non sono compresi nell'intervallo.

L'operazione non può essere eseguita perché la sequenza di record è stata aperta con accesso in sola scrittura.

La sequenza di record è danneggiata.

-oppure-

Il record è scritto con una versione incompatibile della sequenza di record.

L'enumerazione è stata terminata.

-oppure-

L'enumerazione non è stata avviata. È necessario chiamare MoveNext().

Il metodo è stato chiamato dopo l'eliminazione sequenza.

Memoria insufficiente per continuare l'esecuzione del programma.

Esempio

Nell'esempio seguente viene mostrato come utilizzare questo metodo per leggere i record contenuti in una sequenza del 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

Commenti

Questo metodo restituisce una raccolta enumerabile dei record inclusi nella sequenza. L'ordine dei record enumerati dipende dal valore del parametro logRecordEnum.

Si applica a