LogRecordSequence.BeginAppend 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
비동기 추가 작업을 시작합니다.
오버로드
| Name | Description |
|---|---|
| BeginAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, AsyncCallback, Object) |
비동기 추가 작업을 시작합니다. 이 메서드는 상속할 수 없습니다. |
| BeginAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, AsyncCallback, Object) |
비동기 추가 작업을 시작합니다. 이 메서드는 상속할 수 없습니다. |
| BeginAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, AsyncCallback, Object) |
비동기 추가 작업을 시작합니다. 이 메서드는 상속할 수 없습니다. |
| BeginAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, AsyncCallback, Object) |
비동기 추가 작업을 시작합니다. 이 메서드는 상속할 수 없습니다. |
BeginAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, AsyncCallback, Object)
비동기 추가 작업을 시작합니다. 이 메서드는 상속할 수 없습니다.
public:
virtual IAsyncResult ^ BeginAppend(ArraySegment<System::Byte> data, System::IO::Log::SequenceNumber nextUndoRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAppend(ArraySegment<byte> data, System.IO.Log.SequenceNumber nextUndoRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, AsyncCallback callback, object state);
abstract member BeginAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * AsyncCallback * obj -> IAsyncResult
override this.BeginAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * AsyncCallback * obj -> IAsyncResult
Public Function BeginAppend (data As ArraySegment(Of Byte), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, callback As AsyncCallback, state As Object) As IAsyncResult
매개 변수
- data
- ArraySegment<Byte>
레코드로 연결되고 추가될 바이트 배열 세그먼트 목록입니다.
- nextUndoRecord
- SequenceNumber
사용자가 지정한 순서로 다음 레코드의 시퀀스 번호입니다.
- previousRecord
- SequenceNumber
이전 순서에서 다음 레코드의 시퀀스 번호입니다.
- recordAppendOptions
- RecordAppendOptions
유효한 값 RecordAppendOptions 은 데이터를 작성하는 방법을 지정합니다.
- callback
- AsyncCallback
추가가 완료될 때 호출할 선택적 비동기 콜백입니다.
- state
- Object
이 특정 비동기 추가 요청을 다른 요청과 구별하는 사용자 제공 개체입니다.
반품
IAsyncResult 보류 중일 수 있는 비동기 추가를 나타내는 값입니다.
구현
예외
nextUndoRecord 또는 previousRecord 이 시퀀스에 유효하지 않습니다.
-또는-
data 는 최대 레코드 크기보다 크므로 추가할 수 없습니다.
-또는-
reservations 이 레코드 시퀀스에 의해 만들어지지 않았습니다.
인수 중 하나 이상이 있습니다 null.
nextUndoRecord 또는 previousRecord 이 시퀀스의 기본 번호와 마지막 시퀀스 번호 사이에 있지 않습니다.
레코드 시퀀스가 읽기 전용 액세스 권한으로 열렸기 때문에 작업을 수행할 수 없습니다.
시퀀스가 삭제된 후 메서드가 호출되었습니다.
프로그램 실행을 계속하기 위한 메모리가 부족합니다.
레코드 시퀀스가 가득 찼습니다.
지정된 로그 시퀀스에 대한 액세스는 운영 체제에서 거부됩니다.
설명
추가 작업이 완료되고 리소스를 적절하게 해제할 IAsyncResult 수 있도록 이 메서드에서 반환된 메서드를 메서드에 전달 EndAppend 해야 합니다. 비동기 추가 중에 오류가 발생한 경우 이 메서드에서 반환된 메서드를 사용하여 메서드를 EndAppend 호출할 때까지 예외가 IAsyncResult throw되지 않습니다.
매개 변수에 data 포함된 데이터는 레코드로 추가하기 위해 단일 바이트 배열로 연결됩니다. 그러나 레코드를 읽을 때 데이터를 배열 세그먼트로 다시 분할하기 위한 프로비저닝은 이루어지지 않습니다.
일반적으로 이 메서드는 레코드가 작성되기 전에 완료됩니다. 레코드가 기록되었는지 확인하려면 매개 변수를 사용하여 플래그를 ForceFlushrecordAppendOptions 지정하거나 메서드를 호출합니다 Flush .
적용 대상
BeginAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, AsyncCallback, Object)
비동기 추가 작업을 시작합니다. 이 메서드는 상속할 수 없습니다.
public:
virtual IAsyncResult ^ BeginAppend(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber userRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAppend(System.Collections.Generic.IList<ArraySegment<byte>> data, System.IO.Log.SequenceNumber userRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, AsyncCallback callback, object state);
abstract member BeginAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * AsyncCallback * obj -> IAsyncResult
override this.BeginAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * AsyncCallback * obj -> IAsyncResult
Public Function BeginAppend (data As IList(Of ArraySegment(Of Byte)), userRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, callback As AsyncCallback, state As Object) As IAsyncResult
매개 변수
- data
- IList<ArraySegment<Byte>>
레코드로 연결되고 추가될 바이트 배열 세그먼트 목록입니다.
- userRecord
- SequenceNumber
사용자가 지정한 순서로 다음 레코드의 시퀀스 번호입니다.
- previousRecord
- SequenceNumber
이전 순서에서 다음 레코드의 시퀀스 번호입니다.
- recordAppendOptions
- RecordAppendOptions
유효한 값 RecordAppendOptions 은 데이터를 작성하는 방법을 지정합니다.
- callback
- AsyncCallback
추가가 완료될 때 호출할 선택적 비동기 콜백입니다.
- state
- Object
이 특정 비동기 추가 요청을 다른 요청과 구별하는 사용자 제공 개체입니다.
반품
IAsyncResult 보류 중일 수 있는 비동기 추가를 나타내는 값입니다.
구현
예외
userRecord 또는 previousRecord 이 시퀀스에 유효하지 않습니다.
-또는-
data 는 최대 레코드 크기보다 크므로 추가할 수 없습니다.
-또는-
reservations 이 레코드 시퀀스에 의해 만들어지지 않았습니다.
인수 중 하나 이상이 있습니다 null.
userRecord 또는 previousRecord 이 시퀀스의 기본 번호와 마지막 시퀀스 번호 사이에 있지 않습니다.
레코드 시퀀스가 읽기 전용 액세스 권한으로 열렸기 때문에 작업을 수행할 수 없습니다.
시퀀스가 삭제된 후 메서드가 호출되었습니다.
프로그램 실행을 계속하기 위한 메모리가 부족합니다.
레코드 시퀀스가 가득 찼습니다.
지정된 로그 시퀀스에 대한 액세스는 운영 체제에서 거부됩니다.
설명
추가 작업이 완료되고 리소스를 적절하게 해제할 IAsyncResult 수 있도록 이 메서드에서 반환된 메서드를 메서드에 전달 EndAppend 해야 합니다. 비동기 추가 중에 오류가 발생한 경우 이 메서드에서 반환된 메서드를 사용하여 메서드를 EndAppend 호출할 때까지 예외가 IAsyncResult throw되지 않습니다.
매개 변수에 data 포함된 데이터는 레코드로 추가하기 위해 단일 바이트 배열로 연결됩니다. 그러나 레코드를 읽을 때 데이터를 배열 세그먼트로 다시 분할하기 위한 프로비저닝은 이루어지지 않습니다.
일반적으로 이 메서드는 레코드가 작성되기 전에 완료됩니다. 레코드가 기록되었는지 확인하려면 매개 변수를 사용하여 플래그를 ForceFlushrecordAppendOptions 지정하거나 메서드를 호출합니다 Flush .
적용 대상
BeginAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, AsyncCallback, Object)
비동기 추가 작업을 시작합니다. 이 메서드는 상속할 수 없습니다.
public:
virtual IAsyncResult ^ BeginAppend(ArraySegment<System::Byte> data, System::IO::Log::SequenceNumber nextUndoRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, System::IO::Log::ReservationCollection ^ reservations, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAppend(ArraySegment<byte> data, System.IO.Log.SequenceNumber nextUndoRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, System.IO.Log.ReservationCollection reservations, AsyncCallback callback, object state);
abstract member BeginAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
override this.BeginAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
Public Function BeginAppend (data As ArraySegment(Of Byte), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, reservations As ReservationCollection, callback As AsyncCallback, state As Object) As IAsyncResult
매개 변수
- data
- ArraySegment<Byte>
레코드로 연결되고 추가될 바이트 배열 세그먼트 목록입니다.
- nextUndoRecord
- SequenceNumber
사용자가 지정한 순서로 다음 레코드의 시퀀스 번호입니다.
- previousRecord
- SequenceNumber
이전 순서에서 다음 레코드의 시퀀스 번호입니다.
- recordAppendOptions
- RecordAppendOptions
유효한 값 RecordAppendOptions 은 데이터를 작성하는 방법을 지정합니다.
- reservations
- ReservationCollection
이 레코드에 사용해야 하는 예약을 포함하는 A ReservationCollection 입니다.
- callback
- AsyncCallback
추가가 완료될 때 호출할 선택적 비동기 콜백입니다.
- state
- Object
이 특정 비동기 추가 요청을 다른 요청과 구별하는 사용자 제공 개체입니다.
반품
IAsyncResult 보류 중일 수 있는 비동기 추가를 나타내는 값입니다.
구현
예외
userRecord 또는 previousRecord 이 시퀀스에 유효하지 않습니다.
-또는-
data 는 최대 레코드 크기보다 크므로 추가할 수 없습니다.
-또는-
reservations 이 레코드 시퀀스에 의해 만들어지지 않았습니다.
인수 중 하나 이상이 있습니다 null.
userRecord 또는 previousRecord 이 시퀀스의 기본 번호와 마지막 시퀀스 번호 사이에 있지 않습니다.
레코드 시퀀스가 읽기 전용 액세스 권한으로 열렸기 때문에 작업을 수행할 수 없습니다.
시퀀스가 삭제된 후 메서드가 호출되었습니다.
프로그램 실행을 계속하기 위한 메모리가 부족합니다.
레코드 시퀀스가 가득 찼습니다.
지정된 로그 시퀀스에 대한 액세스는 운영 체제에서 거부됩니다.
에 들어갈 data 수 있을 만큼 큰 예약은 없습니다 reservations.
설명
추가 작업이 완료되고 리소스를 적절하게 해제할 IAsyncResult 수 있도록 이 메서드에서 반환된 메서드를 메서드에 전달 EndAppend 해야 합니다. 비동기 추가 중에 오류가 발생한 경우 이 메서드에서 반환된 메서드를 사용하여 메서드를 EndAppend 호출할 때까지 예외가 IAsyncResult throw되지 않습니다.
매개 변수에 data 포함된 데이터는 레코드로 추가하기 위해 단일 바이트 배열로 연결됩니다. 그러나 레코드를 읽을 때 데이터를 배열 세그먼트로 다시 분할하기 위한 프로비저닝은 이루어지지 않습니다.
추가된 레코드는 매개 변수로 지정된 예약을 사용하여 이전에 예약된 reservations 공간을 사용합니다. 추가가 성공하면 데이터를 저장할 수 있는 가장 작은 예약 영역을 사용하고 해당 예약 영역은 컬렉션에서 제거됩니다.
일반적으로 이 메서드는 레코드가 작성되기 전에 완료됩니다. 레코드가 기록되었는지 확인하려면 매개 변수를 사용하여 플래그를 ForceFlushrecordAppendOptions 지정하거나 메서드를 호출합니다 Flush .
적용 대상
BeginAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, AsyncCallback, Object)
비동기 추가 작업을 시작합니다. 이 메서드는 상속할 수 없습니다.
public:
virtual IAsyncResult ^ BeginAppend(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber userRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, System::IO::Log::ReservationCollection ^ reservations, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAppend(System.Collections.Generic.IList<ArraySegment<byte>> data, System.IO.Log.SequenceNumber userRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, System.IO.Log.ReservationCollection reservations, AsyncCallback callback, object state);
abstract member BeginAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
override this.BeginAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
Public Function BeginAppend (data As IList(Of ArraySegment(Of Byte)), userRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, reservations As ReservationCollection, callback As AsyncCallback, state As Object) As IAsyncResult
매개 변수
- data
- IList<ArraySegment<Byte>>
레코드로 연결되고 추가될 바이트 배열 세그먼트 목록입니다.
- userRecord
- SequenceNumber
사용자가 지정한 순서로 다음 레코드의 시퀀스 번호입니다.
- previousRecord
- SequenceNumber
이전 순서에서 다음 레코드의 시퀀스 번호입니다.
- recordAppendOptions
- RecordAppendOptions
유효한 값 RecordAppendOptions 은 데이터를 작성하는 방법을 지정합니다.
- reservations
- ReservationCollection
이 레코드에 사용해야 하는 예약을 포함하는 A ReservationCollection 입니다.
- callback
- AsyncCallback
추가가 완료될 때 호출할 선택적 비동기 콜백입니다.
- state
- Object
이 특정 비동기 추가 요청을 다른 요청과 구별하는 사용자 제공 개체입니다.
반품
IAsyncResult 보류 중일 수 있는 비동기 추가를 나타내는 값입니다.
구현
예외
userRecord 또는 previousRecord 이 시퀀스에 유효하지 않습니다.
-또는-
data 는 최대 레코드 크기보다 크므로 추가할 수 없습니다.
-또는-
reservations 이 레코드 시퀀스에 의해 만들어지지 않았습니다.
인수 중 하나 이상이 있습니다 null.
userRecord 또는 previousRecord 이 시퀀스의 기본 번호와 마지막 시퀀스 번호 사이에 있지 않습니다.
레코드 시퀀스가 읽기 전용 액세스 권한으로 열렸기 때문에 작업을 수행할 수 없습니다.
시퀀스가 삭제된 후 메서드가 호출되었습니다.
프로그램 실행을 계속하기 위한 메모리가 부족합니다.
레코드 시퀀스가 가득 찼습니다.
지정된 로그 시퀀스에 대한 액세스는 운영 체제에서 거부됩니다.
에 들어갈 data 수 있을 만큼 큰 예약은 없습니다 reservations.
설명
추가 작업이 완료되고 리소스를 적절하게 해제할 IAsyncResult 수 있도록 이 메서드에서 반환된 메서드를 메서드에 전달 EndAppend 해야 합니다. 비동기 추가 중에 오류가 발생한 경우 이 메서드에서 반환된 메서드를 사용하여 메서드를 EndAppend 호출할 때까지 예외가 IAsyncResult throw되지 않습니다.
매개 변수에 data 포함된 데이터는 레코드로 추가하기 위해 단일 바이트 배열로 연결됩니다. 그러나 레코드를 읽을 때 데이터를 배열 세그먼트로 다시 분할하기 위한 프로비저닝은 이루어지지 않습니다.
추가된 레코드는 매개 변수로 지정된 예약을 사용하여 이전에 예약된 reservations 공간을 사용합니다. 추가가 성공하면 데이터를 저장할 수 있는 가장 작은 예약 영역을 사용하고 해당 예약 영역은 컬렉션에서 제거됩니다.
일반적으로 이 메서드는 레코드가 작성되기 전에 완료됩니다. 레코드가 기록되었는지 확인하려면 매개 변수를 사용하여 플래그를 ForceFlushrecordAppendOptions 지정하거나 메서드를 호출합니다 Flush .