Partilhar via


Exemplo de provedor NTFS gerenciado

O exemplo do ManagedNTFSProvider mostra como você pode usar C# ou o Microsoft Visual Basic para implementar um provedor de sincronização que sincroniza arquivos em uma pasta de arquivos. Para maior simplicidade, este exemplo não trata subpastas.

Security noteSegurança Observação:

Este código de exemplo é fornecido para ilustrar um conceito. Como o exemplo pode não usar as práticas de codificação mais seguras, o código não deve ser usado em aplicativos ou sites. O Microsoft não assume responsabilidade por danos incidentais ou conseqüenciais se o código de exemplo é usado para uma finalidade diferente da pretendida.

Local do arquivo

Os arquivos para este exemplo estão localizados onde o Estrutura de sincronização está instalado. O local padrão é C:\Arquivos de Programas\Microsoft SDKs\Microsoft Sync Framework\v1.0\Samples\ManagedNTFSSample.

Sumário

Este exemplo contém uma implementação de C# e de Visual Basic. Ambos são bastante semelhantes. Cada um contém os seguintes projetos em uma solução Microsoft Visual Studio:

  • ManagedNTFSProvider Combina uma implementação de provedor de sincronização junto com um aplicativo de sincronização simples

  • ManagedSampleTest Executa estes componentes para executar a sincronização.

Arquivos

Implementação C#

O projeto ManagedNTFSProvider contém os seguintes arquivos.

Arquivo de origem Descrição

MetadataStore.cs

Uma classe auxiliar que o exemplo usa para armazenar metadados de sincronização no sistema de arquivos.

MyStore.cs

A classe do provedor de sincronização. Isso implementa KnowledgeSyncProvider, IChangeDataRetriever, e INotifyingChangeApplierTarget para participarem na sincronização.

MyTransferMechanism.cs

Uma classe que encapsula um fluxo de arquivos. Este fluxo de arquivos passa de um provedor para outro de forma que possa ser usado para copiar os dados reais de arquivo durante a sincronização.

MySyncController.cs

Uma classe que cria e hospeda o objeto de sessão de sincronização.

O projeto ManagedSampleTest contém o seguinte arquivo.

Arquivo de origem Descrição

Program.cs

O ponto de entrada para o aplicativo. Isso analisa a linha de comando, instancia os provedores e o objeto de controle, conecta todos entre si e inicia a sincronização.

Implementação de Visual Basic

O projeto ManagedNTFSProvider contém os seguintes arquivos.

Arquivo de origem Descrição

MetadataStore.vb

Uma classe auxiliar que o exemplo usa para armazenar metadados de sincronização no sistema de arquivos.

MyStore.vb

A classe do provedor de sincronização. Isso implementa KnowledgeSyncProvider, IChangeDataRetriever, e INotifyingChangeApplierTarget para participarem na sincronização.

MyTransferMechanism.vb

Uma classe que encapsula um fluxo de arquivos. Este fluxo de arquivos passa de um provedor para outro de forma que possa ser usado para copiar os dados reais de arquivo durante a sincronização.

MySyncController.vb

Uma classe que cria e hospeda o objeto de sessão de sincronização.

O projeto ManagedSampleTest contém o seguinte arquivo.

Arquivo de origem Descrição

Program.vb

O ponto de entrada para o aplicativo. Isso analisa a linha de comando, instancia os provedores e o objeto de controle, conecta todos entre si e inicia a sincronização.

Interfaces

Este exemplo demonstra as seguintes classes e interfaces do Estrutura de sincronização:

KnowledgeSyncProvider

ItemChange

IChangeDataRetriever

INotifyingChangeApplierTarget

NotifyingChangeApplier

SyncProvider

LoadChangeContext

SyncKnowledge

SaveChangeContext

ForgottenKnowledge

SyncOrchestrator

ChangeBatch

 

Requisitos

Para criar e executar esse exemplo, o software a seguir deve estar instalado:

  • Microsoft Visual Studio 2005 ou Visual Studio 2008

  • Microsoft .NET Framework 2.0 ou .NET Framework 3.0

Criando o exemplo

Para criar o exemplo com o Visual Studio

  1. Abra o arquivo ManagedNTFSProvider.sln.

  2. No menu Criar, selecione BuildSolution.

Executando o exemplo

Para executar o ManagedSampleTest.exe

  1. Na pasta raiz, crie duas pastas: Folder1 e Folder2.

  2. Adicione conteúdo às pastas, como arquivos de texto. Verifique se os conteúdos de Folder1 são diferentes dos de Folder2.

  3. Para executar o exemplo em um prompt de comando, abra a janela deste e localize a pasta que contém ManagedSampleTest.exe. No prompt de comando, digite: ManagedSampleTest.exe C:\Folder1 C:\Folder2.

  4. Para executar o exemplo no Visual Studio, abra as Páginas de propriedade para o projeto ManagedSampleTest. No campo Argumentos de linha de comando de depuração, o tipo: C:\Folder1 C:\Folder2. No menu Depurar, clique em Iniciar Depuração.

  5. Quando o exemplo for concluído, o Folder1 e Folder2 conterão o mesmo conjunto de arquivos. As pastas também contêm arquivos que contêm metadados de sincronização, como Knowledge.Sync, Metadata.Sync, Replica.Sync e TickCount.Sync.

Consulte também

Referência

Microsoft.Synchronization

Outros recursos

Exemplos de sincronização de dados personalizados