LogRecordSequence.BeginFlush(SequenceNumber, AsyncCallback, Object) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
시퀀스에서 이전에 예약된 공간을 사용하여 비동기 플러시 작업을 시작합니다. 이 메서드는 상속될 수 없습니다.
public:
virtual IAsyncResult ^ BeginFlush(System::IO::Log::SequenceNumber sequenceNumber, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginFlush (System.IO.Log.SequenceNumber sequenceNumber, AsyncCallback callback, object state);
abstract member BeginFlush : System.IO.Log.SequenceNumber * AsyncCallback * obj -> IAsyncResult
override this.BeginFlush : System.IO.Log.SequenceNumber * AsyncCallback * obj -> IAsyncResult
Public Function BeginFlush (sequenceNumber As SequenceNumber, callback As AsyncCallback, state As Object) As IAsyncResult
매개 변수
- sequenceNumber
- SequenceNumber
써야 하는 최신 레코드의 시퀀스 번호입니다. 이 SequenceNumber가 유효하지 않은 경우 모든 레코드를 써야 합니다.
- callback
- AsyncCallback
플러시가 완료되면 호출되는 선택적 비동기 콜백입니다.
- state
- Object
이 특정 비동기 플러시 요청을 다른 요청과 구별하는 사용자 제공 개체입니다.
반환
보류 중일 수 있는 비동기 플러시 작업을 나타내는 IAsyncResult입니다.
구현
예외
sequenceNumber
이 이 시퀀스에 유효하지 않은 경우
sequenceNumber
이 이 시퀀스의 기준 시퀀스 번호와 마지막 시퀀스 번호 사이에 있지 않은 경우
예기치 못한 I/O 예외 때문에 요청을 수행할 수 없는 경우
지정된 로그에 범위가 없는 경우. 레코드 시퀀스를 사용하려면 먼저 범위를 하나 이상 만들어야 합니다.
읽기 전용 액세스 권한으로 레코드 시퀀스를 열었으므로 작업을 수행할 수 없습니다.
시퀀스가 삭제된 후 메서드가 호출된 경우
메모리가 부족하여 프로그램을 계속 실행할 수 없는 경우
레코드 시퀀스가 꽉 찼습니다.
지정된 로그 시퀀스에 대한 액세스가 운영 체제에서 거부되는 경우
설명
현재 메서드에서 반환된 IAsyncResult 를 메서드에 EndFlush 전달하여 플러시 완료 및 리소스가 적절하게 해제되도록 해야 합니다. 비동기 플러시 중에 오류가 발생하면 이 메서드에서 반환된 를 사용하여 메서드를 EndFlush 호출 IAsyncResult 할 때까지 예외가 throw되지 않습니다.
이 메서드를 호출하면 에 추가된 LogRecordSequence 모든 레코드가 지속적으로 기록됩니다.
레코드 시퀀스가 삭제되었거나 잘못된 인수를 전달하는 경우 이 작업 내에서 예외가 즉시 throw됩니다. 비동기 플러시 요청 중에 발생한 오류(예: I/O 요청 중 디스크 오류)는 메서드가 호출될 때 EndFlush 예외가 throw됩니다.
적용 대상
.NET