ReplicaMetadata.GetChangeBatch 메서드
파생 클래스에서 재정의되면 대상 공급자의 지정된 정보에 포함되지 않은 항목에 대한 항목 메타데이터를 포함하는 변경 내용 일괄 처리를 가져옵니다.
네임스페이스: Microsoft.Synchronization.MetadataStorage
어셈블리: microsoft.synchronization.metadatastorage.dll의 Microsoft.Synchronization.MetadataStorage
구문
‘선언
Public MustOverride Function GetChangeBatch ( _
batchSize As UInteger, _
destinationKnowledge As SyncKnowledge _
) As ChangeBatch
‘사용 방법
Dim instance As ReplicaMetadata
Dim batchSize As UInteger
Dim destinationKnowledge As SyncKnowledge
Dim returnValue As ChangeBatch
returnValue = instance.GetChangeBatch(batchSize, destinationKnowledge)
public abstract ChangeBatch GetChangeBatch (
uint batchSize,
SyncKnowledge destinationKnowledge
)
public:
virtual ChangeBatch^ GetChangeBatch (
unsigned int batchSize,
SyncKnowledge^ destinationKnowledge
) abstract
public abstract ChangeBatch GetChangeBatch (
UInt32 batchSize,
SyncKnowledge destinationKnowledge
)
public abstract function GetChangeBatch (
batchSize : uint,
destinationKnowledge : SyncKnowledge
) : ChangeBatch
매개 변수
- batchSize
만들 일괄 처리의 크기입니다.
- destinationKnowledge
대상 공급자의 정보입니다.
반환 값
대상 공급자의 지정된 정보에 포함되지 않은 항목에 대한 항목 메타데이터를 포함하는 변경 내용 일괄 처리입니다.
예외
예외 형식 | 조건 |
---|---|
개체가 삭제되었거나, 올바르게 초기화되지 않았습니다. |
|
batchSize가 0입니다. |
|
destinationKnowledge가 null 참조(Visual Basic에서는 Nothing)입니다. |
주의
이 메서드를 사용하면 동기화 공급자가 해당 GetChangeBatch 메서드를 구현하는 데 도움이 됩니다.
이 메서드를 호출하기 전에 공급자는 메타데이터 저장소의 버전에 삭제 항목 등을 비롯한 모든 로컬 변경 내용이 반영되어 있는지 확인해야 합니다. 이는 항목을 열거하고 해당 메타데이터를 업데이트하는 명시적 메타데이터 유지 관리 작업을 통해 수행할 수 있습니다.
SqlMetadataStore를 통해 사용 가능한 이 클래스의 구현은 변경 내용 일괄 처리에 전역 ID 순서대로 변경 내용을 추가합니다.
SqlMetadataStore를 통해 사용 가능한 이 클래스의 구현은 보낼 변경 내용이 더 이상 없으면 반환된 변경 내용 일괄 처리에 대해 IsLastBatch를 true로 설정합니다.
구현자를 위한 정보: 전역 ID 순서를 사용하며 범위 사용 기능이 있는 공급자에 도움이 되도록 변경 내용을 열거하여 변경 내용 일괄 처리에 전역 ID 순서대로 추가해야 합니다. 반환된 변경 내용 일괄 처리의 첫 번째 변경 내용이 새 범위를 시작합니다. 이 일괄 처리 이후 보낼 변경 내용이 더 이상 없으면 반환된 변경 내용 일괄 처리에 대해 IsLastBatch를 true로 설정해야 합니다. 그렇지 않으면 Sync Framework가 GetChangeBatch를 다시 호출하여 다른 변경 내용 일괄 처리를 검색합니다.
예제
다음 예제에서는 ReplicaMetadata.GetChangeBatch에 매개 변수를 전달하여 KnowledgeSyncProvider.GetChangeBatch를 구현합니다.
public override ChangeBatch GetChangeBatch(uint batchSize, SyncKnowledge destinationKnowledge, out object changeDataRetriever)
{
// Return this object as the IChangeDataRetriever object that is called to retrieve item data.
changeDataRetriever = this;
// Use metadata storage service to get a batch of changes.
return _ContactStore.ContactReplicaMetadata.GetChangeBatch(batchSize, destinationKnowledge);
}
참고 항목
참조
ReplicaMetadata 클래스
ReplicaMetadata 멤버
Microsoft.Synchronization.MetadataStorage 네임스페이스