共用方式為


Managed 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

範例用來儲存檔案系統中同步處理中繼資料的 Helper 類別。

MyStore.cs

同步處理提供者類別。這會實作 KnowledgeSyncProvider, IChangeDataRetrieverINotifyingChangeApplierTarget 以參與同步處理。

MyTransferMechanism.cs

封裝檔案資料流的類別。此檔案資料流會從一個提供者傳遞到其他提供者,以便在同步處理期間用來複製實際的檔案資料。

MySyncController.cs

建立及裝載同步處理工作階段物件的類別。

ManagedSampleTest 專案包含下列檔案。

來源檔案 描述

Program.cs

應用程式的進入點。這會剖析命令列,具現化提供者和控制器物件,然後讓這些物件彼此連接,並啟動同步處理。

Visual Basic 實作

ManagedNTFSProvider 專案包含下列檔案。

來源檔案 描述

MetadataStore.vb

範例用來儲存檔案系統中同步處理中繼資料的 Helper 類別。

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. 在 [建立] 功能表上選取 [BuildSolution]。

執行此範例

執行 ManagedSampleTest.exe

  1. 在根資料夾中,建立兩個資料夾:Folder1 和 Folder2。

  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

其他資源

自訂資料同步處理範例