Sync Frameworkの使い方(ファイル編)

Sync Framework の名前空間

  • Microsoft.Synchronization
  • Microsoft.Synchronization.Files

参照アセンブリ

  • C:\Program Files (x86)\Microsoft SDKs\Microsoft Sync Framework\2.0\Runtime\x86\Microsoft.Synchronization.dll
  • C:\Program Files (x86)\Microsoft SDKs\Microsoft Sync Framework\2.0\Runtime\x86\Microsoft.Synchronization.Files.dll

コードサンプル

以下のソースコード例は基本的にMSDNのサンプルと同じものです。

機能的にはコマンドライン引数でとった二つのフォルダを同期させます。

同期方法オプションの設定

フォルダ間で競合等が発生したり、同期元にそのファイルがないといった場合に同期先で削除されるファイルを完全に削除してしまうのか、ゴミ箱に移動するのかのオプションや、明示的にどう起用メタデータの更新を行うかのオプションを設定します。

対象/除外ファイルの設定

同期に使用する、もしくは除外するファイルの種類を指定することができます。

以下のコードでは除外側の設定ですが、FileNameIncludeプロパティに対して設定することで対象とするファイル(種類)だけを設定することもできます。

メタデータの更新

FileSyncOptions.ExplicitDetectChangesオプションが指定されているので、明示的にコードでメタデータの更新をする必要があります。

同期の実行

実際に同期処理を実行します。

以下の例では同期元と同期先で衝突や同時実行による競合が起きた場合の処理方法をオプション指定しないで、イベントにしてコンソール表示するようにしています。実際にオプション設定する方法についてはコード内のコメントを参考にしてください。

競合の解決に関しては以下の文書が参考になります。

全体ソースコード

参考・参照文献

CC BY-SA 4.0 This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

No Code, No Life.

%d人のブロガーが「いいね」をつけました。