IRecordSequence.BeginWriteRestartArea 메서드

정의

파생 클래스에서 재정의되는 경우 비동기 재시작 영역 쓰기 작업을 시작합니다.

오버로드

BeginWriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection, AsyncCallback, Object)

파생 클래스에서 재정의되는 경우 시퀀스에서 이전에 예약된 공간을 사용하여 비동기 재시작 영역 쓰기 작업을 시작합니다.

BeginWriteRestartArea(IList<ArraySegment<Byte>>, SequenceNumber, ReservationCollection, AsyncCallback, Object)

파생 클래스에서 재정의되는 경우 시퀀스에서 이전에 예약된 공간을 사용하여 비동기 재시작 영역 쓰기 작업을 시작합니다.

BeginWriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection, AsyncCallback, Object)

파생 클래스에서 재정의되는 경우 시퀀스에서 이전에 예약된 공간을 사용하여 비동기 재시작 영역 쓰기 작업을 시작합니다.

public:
 IAsyncResult ^ BeginWriteRestartArea(ArraySegment<System::Byte> data, System::IO::Log::SequenceNumber newBaseSequenceNumber, System::IO::Log::ReservationCollection ^ reservation, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginWriteRestartArea (ArraySegment<byte> data, System.IO.Log.SequenceNumber newBaseSequenceNumber, System.IO.Log.ReservationCollection reservation, AsyncCallback callback, object state);
abstract member BeginWriteRestartArea : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
Public Function BeginWriteRestartArea (data As ArraySegment(Of Byte), newBaseSequenceNumber As SequenceNumber, reservation As ReservationCollection, callback As AsyncCallback, state As Object) As IAsyncResult

매개 변수

data
ArraySegment<Byte>

연결하여 레코드로 추가할 바이트 배열 세그먼트의 목록입니다.

newBaseSequenceNumber
SequenceNumber

새 기준 시퀀스 번호입니다. 지정된 시퀀스 번호는 현재 기준 시퀀스 번호보다 크거나 같아야 합니다.

reservation
ReservationCollection

이 재시작 영역에 사용해야 하는 예약이 포함된 ReservationCollection입니다.

callback
AsyncCallback

재시작 영역 쓰기가 완료되면 호출되는 선택적 비동기 콜백입니다.

state
Object

이 특정 비동기 재시작 영역 쓰기 요청을 다른 요청과 구별하는 사용자 제공 개체입니다.

반환

IAsyncResult

보류 중일 수 있는 비동기 재시작 영역 쓰기 작업을 나타내는 IAsyncResult입니다.

설명

다시 시작 영역 쓰기 작업이 완료되고 리소스를 적절하게 해제할 수 있도록 이 메서드 EndWriteRestartArea 에서 반환된 메서드를 메서드에 전달 IAsyncResult 해야 합니다. 비동기 다시 시작 영역 쓰기 작업 중에 오류가 발생한 경우 이 메서드에서 반환된 메서드를 사용하여 IAsyncResult 메서드를 EndWriteRestartArea 호출할 때까지 예외가 throw되지 않습니다.

매개 변수에 data 포함된 데이터는 레코드로 추가하기 위해 단일 바이트 배열로 연결됩니다. 그러나 레코드를 읽을 때 데이터를 배열 세그먼트로 다시 분할하기 위한 프로비저닝은 이루어지지 않습니다.

작업이 성공적으로 완료되면 기본 시퀀스 번호가 업데이트됩니다. 시퀀스 번호가 새 기본 시퀀스 번호보다 작은 모든 로그 레코드에 액세스할 수 없습니다.

지정된 ReservationCollection 경우 기록된 다시 시작 영역은 컬렉션에 포함된 예약을 사용하여 이전에 예약된 공간을 사용합니다. 메서드가 성공하면 데이터를 저장할 수 있는 가장 작은 예약을 사용하고 해당 예약은 컬렉션에서 제거됩니다.

레코드 시퀀스가 삭제되었거나 잘못된 인수를 전달하는 경우 이 작업 내에서 예외가 즉시 throw됩니다. 비동기 추가 요청 중에 발생한 오류(예: I/O 요청 중 디스크 오류)는 메서드가 호출될 때 EndWriteRestartArea 예외가 throw됩니다.

적용 대상

BeginWriteRestartArea(IList<ArraySegment<Byte>>, SequenceNumber, ReservationCollection, AsyncCallback, Object)

파생 클래스에서 재정의되는 경우 시퀀스에서 이전에 예약된 공간을 사용하여 비동기 재시작 영역 쓰기 작업을 시작합니다.

public:
 IAsyncResult ^ BeginWriteRestartArea(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber newBaseSequenceNumber, System::IO::Log::ReservationCollection ^ reservation, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginWriteRestartArea (System.Collections.Generic.IList<ArraySegment<byte>> data, System.IO.Log.SequenceNumber newBaseSequenceNumber, System.IO.Log.ReservationCollection reservation, AsyncCallback callback, object state);
abstract member BeginWriteRestartArea : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
Public Function BeginWriteRestartArea (data As IList(Of ArraySegment(Of Byte)), newBaseSequenceNumber As SequenceNumber, reservation As ReservationCollection, callback As AsyncCallback, state As Object) As IAsyncResult

매개 변수

data
IList<ArraySegment<Byte>>

연결하여 레코드로 추가할 바이트 배열 세그먼트의 목록입니다.

newBaseSequenceNumber
SequenceNumber

새 기준 시퀀스 번호입니다. 지정된 시퀀스 번호는 현재 기준 시퀀스 번호보다 크거나 같아야 합니다.

reservation
ReservationCollection

이 재시작 영역에 사용해야 하는 예약이 포함된 ReservationCollection입니다.

callback
AsyncCallback

재시작 영역 쓰기가 완료되면 호출되는 선택적 비동기 콜백입니다.

state
Object

이 특정 비동기 재시작 영역 쓰기 요청을 다른 요청과 구별하는 사용자 제공 개체입니다.

반환

IAsyncResult

보류 중일 수 있는 비동기 재시작 영역 쓰기 작업을 나타내는 IAsyncResult입니다.

예외

하나 이상의 인수가 잘못된 경우

재시작 영역을 쓰는 동안 I/O 오류가 발생한 경우

레코드 시퀀스에서 새 레코드를 포함할 충분한 여유 공간을 만들 수 없는 경우

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

설명

다시 시작 영역 쓰기 작업이 완료되고 리소스를 적절하게 해제할 EndWriteRestartArea 수 있도록 이 메서드에서 반환된 메서드를 메서드에 전달 IAsyncResult 해야 합니다. 비동기 다시 시작 영역 쓰기 작업 중에 오류가 발생한 경우 이 메서드에서 반환된 메서드를 사용하여 IAsyncResult 메서드를 EndWriteRestartArea 호출할 때까지 예외가 throw되지 않습니다.

매개 변수에 data 포함된 데이터는 레코드로 추가하기 위해 단일 바이트 배열로 연결됩니다. 그러나 레코드를 읽을 때 데이터를 배열 세그먼트로 다시 분할하기 위한 프로비저닝은 이루어지지 않습니다.

작업이 성공적으로 완료되면 기본 시퀀스 번호가 업데이트됩니다. 시퀀스 번호가 새 기본 시퀀스 번호보다 작은 모든 로그 레코드에 액세스할 수 없습니다.

지정된 ReservationCollection 경우 기록된 다시 시작 영역은 컬렉션에 포함된 예약을 사용하여 이전에 예약된 공간을 사용합니다. 메서드가 성공하면 데이터를 저장할 수 있는 가장 작은 예약을 사용하고 해당 예약은 컬렉션에서 제거됩니다.

레코드 시퀀스가 삭제되었거나 잘못된 인수를 전달하는 경우 이 작업 내에서 예외가 즉시 throw됩니다. 비동기 추가 요청 중에 발생한 오류(예: I/O 요청 중 디스크 오류)는 메서드가 호출될 때 EndWriteRestartArea 예외가 throw됩니다.

적용 대상