다음을 통해 공유


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 값에 따라 달라집니다.

적용 대상