Поделиться через


FileRecordSequence.ReadLogRecords Метод

Определение

Возвращает перечислимую коллекцию записей в последовательности. Этот метод не может быть унаследован.

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)

Параметры

start
SequenceNumber

Порядковый номер первой записи, с которой начинается чтение.

logRecordEnum
LogRecordEnumeratorType

Допустимое значение LogRecordEnumeratorType, указывающее способ (вперед или назад), которым записи должны считываться из LogRecordSequence.

Возвращаемое значение

Перечисляемая коллекция записей в последовательности.

Реализации

Исключения

Один или несколько аргументов выходят за пределы диапазона.

Невозможно выполнить операцию, поскольку последовательность записей была открыта с доступом только для записи.

Последовательность записей повреждена.

-или-

Запись была сделана с помощью несовместимой версии последовательности записей.

Перечисление завершено.

-или-

Перечисление не запущено. Должен быть вызван метод MoveNext().

Метод был вызван после удаления последовательности.

Недостаточно памяти, чтобы продолжить выполнение программы.

Примеры

В следующем примере показано, как использовать этот метод для чтения записей в последовательности журналов.

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

Комментарии

Этот метод возвращает перечисляемую коллекцию записей в последовательности. Порядок перечисленных записей зависит от значения параметра logRecordEnum.

Применяется к