SyncAgent Class
The SyncAgent object orchestrates synchronization.
Assembly: Microsoft.Synchronization.Data (in Microsoft.Synchronization.Data.dll)
The SyncAgent type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | SyncAgent | Initializes a new instance of the SyncAgent class by using default values. |
![]() | SyncAgent(SyncProvider, SyncProvider) | Initializes a new instance of the SyncAgent class by using local synchronization provider and remote synchronization provider parameters. |
| Name | Description | |
|---|---|---|
![]() | Configuration | Gets a SyncConfiguration object that contains information about tables and synchronization parameters. |
![]() | LocalProvider | Gets or sets an object derived from ClientSyncProvider that is used to communicate with the local data store. |
![]() | RemoteProvider | Gets or sets an object derived from ServerSyncProvider that is used to communicate with the remote data store. |
![]() | SessionState | Gets or sets a SyncSessionState object that is used to define whether the session is currently synchronizing. |
![]() | SyncStatistics | Gets a SyncStatistics object that represents statistics for a synchronization session. |
| Name | Description | |
|---|---|---|
![]() | Dispose | Releases all resources used by the SyncAgent. |
![]() | Dispose(Boolean) | Releases the unmanaged resources used by the SyncAgent, and optionally releases the managed resources. |
![]() | Equals | (Inherited from Object.) |
![]() | Finalize | (Inherited from Object.) |
![]() | GetHashCode | (Inherited from Object.) |
![]() | GetType | (Inherited from Object.) |
![]() | MemberwiseClone | (Inherited from Object.) |
![]() | OnSessionProgress | Raises the SessionProgress event. |
![]() | OnSessionStateChanged | Raises the StateChanged event. |
![]() | Synchronize | Synchronizes data between the local and remote data stores. |
![]() | ToString | (Inherited from Object.) |
| Name | Description | |
|---|---|---|
![]() | SessionProgress | Occurs during synchronization: after metadata is read at the client, after metadata is written, after changes are downloaded, and after changes are uploaded. |
![]() | StateChanged | Occurs when there is a change in the synchronization session state. |
The following code example creates a class that derives from SyncAgent. The class instantiates a client synchronization provider and a server synchronization provider, creates a synchronization group, and adds the Customer table. When adding the table, synchronization direction and a table creation option are also specified. To view this code in the context of a complete example, see How to: Exchange Bidirectional Incremental Data Changes Between a Client and Server.
public class SampleSyncAgent : SyncAgent { public SampleSyncAgent() { //Instantiate a client synchronization provider and specify it //as the local provider for this synchronization agent. this.LocalProvider = new SampleClientSyncProvider(); //Instantiate a server synchronization provider and specify it //as the remote provider for this synchronization agent. this.RemoteProvider = new SampleServerSyncProvider(); //Create a Customer SyncGroup. This is not required //for the single table we are synchronizing; it is typically //used so that changes to multiple related tables are //synchronized at the same time. SyncGroup customerSyncGroup = new SyncGroup("Customer"); //Add the Customer table: specify a synchronization direction of //Bidirectional, and that an existing table should be dropped. SyncTable customerSyncTable = new SyncTable("Customer"); customerSyncTable.CreationOption = TableCreationOption.DropExistingOrCreateNewTable; customerSyncTable.SyncDirection = SyncDirection.Bidirectional; customerSyncTable.SyncGroup = customerSyncGroup; this.Configuration.SyncTables.Add(customerSyncTable); } }
Public Class SampleSyncAgent Inherits SyncAgent Public Sub New() 'Instantiate a client synchronization provider and specify it 'as the local provider for this synchronization agent. Me.LocalProvider = New SampleClientSyncProvider() 'Instantiate a server synchronization provider and specify it 'as the remote provider for this synchronization agent. Me.RemoteProvider = New SampleServerSyncProvider() 'Create a Customer SyncGroup. This is not required 'for the single table we are synchronizing; it is typically 'used so that changes to multiple related tables are 'synchronized at the same time. Dim customerSyncGroup As New SyncGroup("Customer") 'Add the Customer table: specify a synchronization direction of 'Bidirectional, and that an existing table should be dropped. Dim customerSyncTable As New SyncTable("Customer") customerSyncTable.CreationOption = TableCreationOption.DropExistingOrCreateNewTable customerSyncTable.SyncDirection = SyncDirection.Bidirectional customerSyncTable.SyncGroup = customerSyncGroup Me.Configuration.SyncTables.Add(customerSyncTable) End Sub 'New End Class 'SampleSyncAgent
Show:
