다음을 통해 공유


관리되는 NTFS 공급자 샘플

ManagedNTFSProvider 샘플에서는 C++ 또는 Microsoft Visual Basic을 사용하여 파일 폴더의 파일을 동기화하는 동기화 공급자를 구현하는 방법을 보여 줍니다. 이 샘플에서는 편의상 하위 폴더를 처리하지 않습니다.

Security note보안 참고

이 샘플 코드는 개념을 설명하기 위해 제공되었습니다. 가장 안전한 코딩 방법이 사용되지 않았을 수 있으므로 실제 응용 프로그램이나 웹 사이트에서는 이 코드를 사용할 수 없습니다. 샘플 코드를 의도되지 않은 목적으로 사용한 경우 Microsoft는 어떠한 우발적 또는 결과적 피해에도 책임을 지지 않습니다.

파일 위치

이 샘플 파일은 Sync Framework가 설치된 위치에 있습니다. 기본 위치는 C:\Program Files\Microsoft SDKs\Microsoft Sync Framework\v1.0\Samples\ManagedNTFSSample입니다.

내용

이 샘플에는 C# 및 Visual Basic 구현이 들어 있습니다. 두 구현은 서로 비슷하며 각각 Microsoft Visual Studio 솔루션의 다음과 같은 프로젝트가 들어 있습니다.

  • ManagedNTFSProvider 동기화 공급자 구현을 간단한 동기화 응용 프로그램과 결합합니다.

  • ManagedSampleTest 이러한 구성 요소를 실행하여 동기화를 수행합니다.

파일

C# 구현

ManagedNTFSProvider 프로젝트에는 다음과 같은 파일이 들어 있습니다.

소스 파일 설명

MetadataStore.cs

샘플에서 동기화 메타데이터를 파일 시스템에 저장하는 데 사용하는 도우미 클래스입니다.

MyStore.cs

동기화 공급자 클래스입니다. 이 클래스는 KnowledgeSyncProvider, IChangeDataRetrieverINotifyingChangeApplierTarget을 구현하여 동기화에 참가합니다.

MyTransferMechanism.cs

파일 스트림을 캡슐화하는 클래스입니다. 이 파일 스트림을 공급자 간에 전달하여 동기화 도중 실제 파일 데이터를 복사하는 데 사용합니다.

MySyncController.cs

동기화 세션 개체를 만들고 호스팅하는 클래스입니다.

ManagedSampleTest 프로젝트에는 다음과 같은 파일이 들어 있습니다.

소스 파일 설명

Program.cs

응용 프로그램의 진입점입니다. 명령줄을 구문 분석하고, 공급자 및 컨트롤러 개체를 인스턴스화하고, 모든 개체를 서로 연결하고, 동기화를 시작합니다.

Visual Basic 구현

ManagedNTFSProvider 프로젝트에는 다음과 같은 파일이 들어 있습니다.

소스 파일 설명

MetadataStore.vb

샘플에서 동기화 메타데이터를 파일 시스템에 저장하는 데 사용하는 도우미 클래스입니다.

MyStore.vb

동기화 공급자 클래스입니다. 이 클래스는 KnowledgeSyncProvider, IChangeDataRetrieverINotifyingChangeApplierTarget을 구현하여 동기화에 참가합니다.

MyTransferMechanism.vb

파일 스트림을 캡슐화하는 클래스입니다. 이 파일 스트림을 공급자 간에 전달하여 동기화 도중 실제 파일 데이터를 복사하는 데 사용합니다.

MySyncController.vb

동기화 세션 개체를 만들고 호스팅하는 클래스입니다.

ManagedSampleTest 프로젝트에는 다음과 같은 파일이 들어 있습니다.

소스 파일 설명

Program.vb

응용 프로그램의 진입점입니다. 명령줄을 구문 분석하고, 공급자 및 컨트롤러 개체를 인스턴스화하고, 모든 개체를 서로 연결하고, 동기화를 시작합니다.

인터페이스

이 샘플에서는 다음과 같은 Sync Framework 클래스 및 인터페이스를 보여 줍니다.

KnowledgeSyncProvider

ItemChange

IChangeDataRetriever

INotifyingChangeApplierTarget

NotifyingChangeApplier

SyncProvider

LoadChangeContext

SyncKnowledge

SaveChangeContext

ForgottenKnowledge

SyncOrchestrator

ChangeBatch

 

요구 사항

이 샘플을 빌드하고 실행하려면 다음과 같은 소프트웨어를 설치해야 합니다.

  • Microsoft Visual Studio 2005 또는 Visual Studio 2008

  • Microsoft .NET Framework 2.0 또는 .NET Framework 3.0

샘플 빌드

Visual Studio를 사용하여 샘플을 빌드하려면

  1. ManagedNTFSProvider.sln 파일을 엽니다.

  2. 빌드 메뉴에서 솔루션 빌드를 선택합니다.

샘플 실행

ManagedSampleTest.exe를 실행하려면

  1. 루트 폴더에서 두 폴더인 Folder1과 Folder2를 만듭니다.

  2. 폴더에 텍스트 파일과 같은 몇 가지 내용을 추가합니다. Folder1의 내용은 Folder2의 내용과 달라야 합니다.

  3. 명령 프롬프트에서 샘플을 실행하려면 명령 프롬프트 창을 열고 ManagedSampleTest.exe가 들어 있는 폴더를 찾습니다. 명령 프롬프트에서 ManagedSampleTest.exe C:\Folder1 C:\Folder2를 입력합니다.

  4. Visual Studio에서 샘플을 실행하려면 ManagedSampleTest 프로젝트의 속성 페이지를 엽니다. @@Debug Command line arguments 필드에 C:\Folder1 C:\Folder2를 입력합니다. 디버그 메뉴에서 디버깅 시작을 클릭합니다.

  5. 샘플 실행이 끝나면 Folder1과 Folder2에 같은 파일 집합이 들어 있습니다. 또한 폴더에는 동기화 메타데이터가 들어 있는 Knowledge.Sync, Metadata.Sync, Replica.Sync 및 TickCount.Sync 등의 파일이 들어 있습니다.

참고 항목

참조

Microsoft.Synchronization

기타 리소스

사용자 지정 데이터 동기화 샘플