FileRecordSequence.ReadLogRecords Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 .