Поделиться через


Образец управляемой службы 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, IChangeDataRetriever и INotifyingChangeApplierTarget для участия в синхронизации.

MyTransferMechanism.cs

Класс, инкапсулирующий файловый поток. Этот файловый поток передается от одной службы к другой и может использоваться для копирования фактических данных файла во время синхронизации.

MySyncController.cs

Класс, который создает и размещает объект сеанса синхронизации.

Проект ManagedSampleTest содержит следующий файл.

Исходный файл Описание

Program.cs

Точка входа в приложение. Выполняет синтаксический анализ командной строки, создает экземпляры служб и объект контроллера, соединяет их друг с другом и запускает синхронизацию.

Реализация на Visual Basic

Проект ManagedNTFSProvider содержит следующие файлы.

Исходный файл Описание

MetadataStore.vb

Вспомогательный класс, который используется образцом для хранения метаданных синхронизации в файловой системе.

MyStore.vb

Класс службы синхронизации. Этот класс реализует объекты KnowledgeSyncProvider, IChangeDataRetriever и 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. Добавьте в папки содержимое, например текстовые файлы. Убедитесь, что содержимое папки 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

Другие ресурсы

Образцы нестандартной синхронизации данных