다음을 통해 공유


LogRecordSequence.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 값입니다.

반환

시퀀스에 있는 레코드의 열거 가능한 컬렉션입니다.

구현

예외

start이 이 시퀀스에 유효하지 않은 경우

또는

logRecordEnum이 잘못되었습니다.

또는

컬렉션에서 지정된 요소를 찾을 수 없는 경우

start이 이 시퀀스의 기준 시퀀스 번호와 마지막 시퀀스 번호 사이에 있지 않은 경우

예기치 못한 I/O 예외 때문에 요청을 수행할 수 없는 경우

또는

I/O 디바이스 오류 때문에 요청을 수행할 수 없는 경우

-또는-

로그 레코드 쓰기에 사용된 버퍼 크기가 로그 레코드 읽기에 사용되는 버퍼 크기보다 큰 경우

또는

레코드 시퀀스가 손상된 경우

또는

지정된 로그 파일 형식이나 버전이 잘못된 경우

또는

호환되지 않는 버전의 레코드 시퀀스를 사용하여 레코드를 쓴 경우

열거형이 시작되지 않았기 때문에 연산이 잘못된 경우. MoveNext()를 호출해야 합니다.

시퀀스가 삭제된 후 메서드가 호출된 경우

메모리가 부족하여 프로그램을 계속 실행할 수 없는 경우

지정된 로그 시퀀스에 대한 액세스가 운영 체제에서 거부되는 경우

예제

이 예제에서는 루프에서 를 사용하는 ReadLogRecords 방법을 보여줍니다.

foreach (LogRecord record in sequence1.ReadLogRecords(sequence1.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);
}
For Each record In sequence1.ReadLogRecords(sequence1.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

설명

이 메서드는 시퀀스에서 열거 가능한 레코드 컬렉션을 반환합니다. 열거된 레코드의 순서는 매개 변수의 logRecordEnum 값에 따라 달라집니다.

적용 대상