Condividi tramite


Programmazione di attività comuni di sincronizzazione client e server

Negli argomenti seguenti di questa sezione vengono fornite informazioni complementari, contenuti procedurali ed esempi di codice completi per le attività di sincronizzazione client e server comuni che è possibile eseguire utilizzando Sync Framework. È consigliabile leggere innanzitutto la procedura relativa al rilevamento delle modifiche nel database server, quindi leggere almeno uno degli argomenti relativi alla direzione di sincronizzazione prima di passare agli altri argomenti.

Argomenti della sezione

Applicazioni di esempio nelle procedure

Ogni procedura contiene almeno un'applicazione console. Questa applicazione è scritta sia in C# che in Visual Basic e illustra caratteristiche specifiche dell'API. Tutte le applicazioni includono il codice per effettuare una prima sincronizzazione, modificare il client e il server in base alle necessità e quindi effettuare una nuova sincronizzazione. Pur essendo più rapido mostrare solo gli esempi di codice per un'attività o caratteristica specifica, è molto più facile comprendere il funzionamento di Sync Framework vedendo una particolare caratteristica in un contesto piuttosto completo.

Ogni applicazione contiene le classi seguenti, così come altre classi attinenti alle caratteristiche descritte:

  • Program La classe imposta la sincronizzazione e chiama i metodi dalla classe Utility. La classe Utility gestisce tutte le funzionalità non direttamente associate alla sincronizzazione, come il mantenimento delle informazioni sulle stringhe di connessione e la realizzazione di modifiche ai database server e client.

  • SampleSyncAgent La classe è derivata da SyncAgent.

  • SampleServerSyncProvider La classe è derivata da DbServerSyncProvider. Negli esempi in cui i comandi del provider server sono rilevanti, i comandi vengono specificati manualmente. In altri casi viene utilizzata la classe SqlSyncAdapterBuilder perché richiede meno codice. Per ulteriori informazioni sui comandi del provider server, vedere Procedura: specificare la sincronizzazione snapshot, di download, di caricamento e bidirezionale.

  • SampleClientSyncProvider La classe è derivata da SqlCeClientSyncProvider.

Tutte le applicazioni complete sono a due livelli per evitare l'utilizzo di un servizio per eseguire le applicazioni. Tuttavia, il codice è diviso in classi separate in modo da comprendere più facilmente come applicare il codice agli scenari a N livelli. Per ulteriori informazioni sulle applicazioni a n livelli, vedere Procedura: configurare la sincronizzazione a n livelli.

Il codice per tutte le applicazioni è stato testato con Visual Studio 2008, SQL Server Compact Service Pack 1, SQL Server 2005 Service Pack 2 e SQL Server 2008.

Per eseguire ogni applicazione

  1. Eseguire lo script Transact-SQL relativo al "Rilevamento delle modifiche personalizzato per scenari offline" in Impostare script per le procedure relative ai provider di database. Lo script crea un database, un set di tabelle e di trigger e un set di stored procedure. Utilizzare la stored procedure usp_InsertSampleData per eliminare e reinserire dati di esempio.

  2. Copiare il codice della classe Utility da Classe di utilità per le procedure relative al provider di database. Incollarlo quindi in ogni applicazione che si desidera eseguire oppure creare una DLL dal codice e fare riferimento a essa da ogni applicazione.

  3. Aggiungere riferimenti alle seguenti DLL:

    • Microsoft.Synchronization.dll

    • Microsoft.Synchronization.Data.dll

    • Microsoft.Synchronization.Data.Server.dll

    • Microsoft.Synchronization.Data.SqlServerCe.dll

    • System.Data.SqlServerCe.dll

Vedere anche

Concetti

Scenari offline