다음을 통해 공유


Sync Framework Metadata Storage Service 구성 요소

Metadata Storage Service를 사용하여 동기화 메타데이터를 저장하고 처리할 수 있습니다.

Metadata Storage Service API

Metadata Storage Service API의 구성 요소는 다음과 같습니다.

CUSTOM_FIELD_DEFINITION 구조

IItemMetadata2 인터페이스

CUSTOM_FIELDS_INDEX 구조

IItemMetadataEnumerator 인터페이스

METASTORE_ISOLATIONLEVEL 열거형

IMetadataStoreUpgradeCallback 인터페이스

SYNC_METADATA_FIELD_TYPE 열거형

IProviderMetadataUpgradeCallback 인터페이스

메타데이터 저장소 오류 코드

IReplicaMetadata 인터페이스

IChangeBatchCallback 인터페이스

IReplicaMetadata2 인터페이스

IChangeUnitMetadata 인터페이스

ISqlSyncMetadataStore 인터페이스

IChangeUnitMetadataEnumerator 인터페이스

ISyncMetadataStore 인터페이스

IFieldValue 인터페이스

ISyncMetadataStore2 인터페이스

IItemMetadata 인터페이스

ISyncMetadataStoreSerializer 인터페이스

Metadata Storage Service 사용

Metadata Storage Service는 저장소 서비스 기록기가 모든 종류의 데이터 저장소에 메타데이터를 저장할 수 있도록 사용자 지정 클래스 집합을 구현하는 데 사용할 수 있는 인터페이스 집합입니다. 또한 Metadata Storage Service를 사용하면 경량 데이터베이스를 사용하여 파일 시스템에서 단일 데이터베이스 파일에 동기화 메타데이터를 저장하는 인터페이스를 구현할 수도 있습니다.

메타데이터 초기화

모든 메타데이터 저장소의 기본 인터페이스는 ISyncMetadataStore입니다. 이 인터페이스에는 메타데이터 저장소를 초기화하고 복제본 메타데이터를 가져오기 위한 메서드 및 데이터베이스에서 트랜잭션을 시작하고 중지하기 위한 메서드가 포함되어 있습니다. ISqlSyncMetadataStore와 같이 이 인터페이스에서 상속하는 인터페이스는 메타데이터 저장소를 만들고 여는 메서드를 제공할 수 있습니다.

ISyncMetadataStore::InitializeReplicaMetadata는 메타데이터 저장소에서 복제본 메타데이터를 초기화합니다. 이 메서드에 CUSTOM_FIELD_DEFINITION 매개 변수를 전달하면 사용자 지정 필드 집합을 만들 수 있는데 이러한 필드를 사용하여 메타데이터 저장소에 있는 항목에 대한 추가 메타데이터를 저장할 수 있습니다. CUSTOM_FIELDS_INDEX 매개 변수를 사용하면 필드 집합을 인덱스로 정의할 수 있으며 이러한 인덱스를 사용하여 메타데이터 저장소에 있는 항목을 효율적으로 찾을 수 있습니다.

복제본 메타데이터 캡슐화

IReplicaMetadata 인터페이스는 특정 복제본의 모든 메타데이터를 캡슐화합니다. IReplicaMetadata::GetKnowledgeIReplicaMetadata::GetReplicaId와 같은 메서드를 사용하여 복제본 메타데이터에 액세스할 수 있습니다.

이 인터페이스에 포함된 몇 가지 메서드를 사용하면 다음과 같이 동기화 공급자 메서드를 구현할 수 있습니다.

  • IReplicaMetadata::GetChangeBatch. 이 메서드는 IKnowledgeSyncProvider::GetChangeBatch 메서드의 작업 대부분을 수행할 수 있습니다.

  • IReplicaMetadata::GetItemBatchVersions. IKnowledgeSyncProvider::ProcessChangeBatch 메서드에서 이 메서드를 호출하여 일괄 변경 내용 항목의 로컬 버전을 찾을 수 있습니다. 로컬 버전은 변경 내용 적용자에게 필요한 사항입니다.

IReplicaMetadata에는 또한 삭제 검색 서비스가 포함되어 있습니다. 공급자는 IReplicaMetadata::GetUnreportedItems와 같은 메서드를 사용하여 항목 저장소에서 삭제되었으며 메타데이터 저장소에서 삭제된 것으로 표시되어야 하는 항목을 검색할 수 있습니다.

항목 메타데이터 캡슐화

메타데이터 저장소에서 IReplicaMetadata::FindItemMetadataByGlobalId 또는 IReplicaMetadata::FindItemMetadataByIndexedFields와 같은 IReplicaMetadata 메서드를 사용하여 항목 ID 또는 인덱싱된 필드를 기준으로 항목 메타데이터를 검색할 수 있습니다. IItemMetadata 인터페이스 클래스는 특정 항목에 대한 모든 메타데이터를 캡슐화합니다. 이 메타데이터는 IItemMetadata::GetChangeVersion, IItemMetadata::GetCreationVersion, IItemMetadata::GetGlobalIdIItemMetadata::GetIsDeleted와 같은 메서드를 사용하여 액세스할 수 있습니다. 또한 이 클래스에는 복제본 메타데이터가 초기화될 때 정의된 모든 사용자 지정 필드에 액세스할 수 있도록 몇 가지 메서드가 포함되어 있습니다.

오류 코드

Metadata Storage Service에서는 사용자 지정 오류 집합을 사용하여 문제를 보고합니다. 자세한 내용은 메타데이터 저장소 오류 코드를 참조하십시오.

참고 항목

참조

Microsoft.Synchronization.MetadataStorage

기타 리소스

Sync Framework Metadata Storage Service