マネージ NTFS プロバイダ サンプル

ManagedNTFSProvider サンプルでは、C# または Microsoft Visual Basic を使用して、ファイル フォルダ内のファイルを同期する同期プロバイダの実装方法を示しています。単純にするために、このサンプルではサブフォルダを処理しません。

Security noteセキュリティメモ :

このサンプル コードは、概念をわかりやすく説明するために提供されています。安全なコーディングのベスト プラクティスに従っているとは限りません。そのため、このサンプル コードをアプリケーションや Web サイトで使用することは避けてください。サンプル コードが意図しない目的で使用された場合、付随的または間接的な損害について 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

同期プロバイダのクラス。同期に参加するための KnowledgeSyncProviderIChangeDataRetriever、および INotifyingChangeApplierTarget を実装します。

MyTransferMechanism.cs

ファイル ストリームをカプセル化するクラス。同期時には、このファイル ストリームがプロバイダ間で受け渡され、実際のファイル データをコピーする目的で使用されます。

MySyncController.cs

同期セッション オブジェクトを作成およびホストするクラス。

ManagedSampleTest プロジェクトには、次のファイルが含まれています。

ソース ファイル 説明

Program.cs

アプリケーションのエントリ ポイント。コマンド ラインを解析し、プロバイダとコントローラ オブジェクトをインスタンス化して、これらすべてのインスタンスを相互に接続し、同期を開始します。

Visual Basic の実装

ManagedNTFSProvider プロジェクトには、次のファイルが含まれています。

ソース ファイル 説明

MetadataStore.vb

サンプルで使用されるヘルパ クラス。同期メタデータをファイル システムに保存する目的で使用されます。

MyStore.vb

同期プロバイダのクラス。同期に参加するための KnowledgeSyncProviderIChangeDataRetriever、および INotifyingChangeApplierTarget を実装します。

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 つのフォルダを作成します。

  2. フォルダに、テキスト ファイルなどのコンテンツを追加します。Folder1 と Folder2 のコンテンツが異なっていることを確認してください。

  3. コマンド プロンプトでサンプルを実行するには、コマンド プロンプト ウィンドウを開いて、ManagedSampleTest.exe が格納されているフォルダに移動します。コマンド プロンプトに「ManagedSampleTest.exe C:\Folder1 C:\Folder2」と入力します。

  4. Visual Studio でサンプルを実行するには、ManagedSampleTest プロジェクトの [プロパティ ページ] を開きます。[デバッグ] の [コマンド ライン引数] フィールドに、「C:\Folder1 C:\Folder2」と入力します。[デバッグ] メニューの [デバッグ開始] をクリックします。

  5. サンプルの実行後は、Folder1 と Folder2 に、まったく同じファイルが格納されています。これらのフォルダには、同期メタデータを含んだファイル (Knowledge.Sync、Metadata.Sync、Replica.Sync、および TickCount.Sync) も格納されます。

参照

リファレンス

Microsoft.Synchronization

その他のリソース

カスタム データ同期サンプル