FileRecordSequence.ReadLogRecords Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Returnerar en uppräkningsbar samling poster i sekvensen. Den här metoden kan inte ärvas.
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)
Parametrar
- start
- SequenceNumber
Sekvensnumret för den första posten där läsningen börjar.
- logRecordEnum
- LogRecordEnumeratorType
Ett giltigt LogRecordEnumeratorType värde som anger det sätt (dvs. framåt eller bakåt) på vilket poster ska läsas från en LogRecordSequence.
Returer
En uppräkningsbar samling poster i sekvensen.
Implementeringar
Undantag
Ett eller flera av argumenten ligger inom intervallet.
Det går inte att utföra åtgärden eftersom postsekvensen öppnades med skrivskyddad åtkomst.
Postsekvensen är skadad.
-eller-
Posten skrevs med en inkompatibel version av postsekvensen.
Uppräkningen har avslutats.
-eller-
Uppräkningen har inte startats. Ett anrop till MoveNext() måste göras.
Metoden anropades efter att sekvensen har tagits bort.
Det finns inte tillräckligt med minne för att fortsätta körningen av programmet.
Exempel
I följande exempel visas hur du kan använda den här metoden för att läsa posterna i en loggsekvens.
// 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
Kommentarer
Den här metoden returnerar en uppräkningsbar samling poster i sekvensen. Ordningen på de uppräknade posterna beror på parameterns logRecordEnum värde.