FileRecordSequence.ReadLogRecords Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Restituisce una raccolta enumerabile di record 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 inizia la lettura.
- logRecordEnum
- LogRecordEnumeratorType
Valore valido LogRecordEnumeratorType che specifica il modo (ovvero avanti o indietro) in cui i record devono essere letti da un oggetto LogRecordSequence.
Valori restituiti
Raccolta enumerabile di record nella sequenza.
Implementazioni
Eccezioni
Uno o più argomenti non sono compresi nell'intervallo.
Impossibile eseguire l'operazione perché la sequenza di record è stata aperta con accesso in sola scrittura.
La sequenza di record è danneggiata.
oppure
Il record è stato scritto con una versione incompatibile della sequenza di record.
L'enumerazione è terminata.
oppure
L'enumerazione non è stata avviata. È necessario effettuare una chiamata a MoveNext() .
Il metodo è stato chiamato dopo che la sequenza è stata eliminata.
Memoria insufficiente per continuare l'esecuzione del programma.
Esempio
Nell'esempio seguente viene illustrato come usare questo metodo per leggere i record in una sequenza di 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 di record nella sequenza. L'ordine dei record enumerati dipende dal valore del logRecordEnum parametro .