SyncAgent.RemoteProvider Property

Gets or sets an object derived from ServerSyncProvider that is used to communicate with the remote data store.

Namespace:  Microsoft.Synchronization
Assembly:  Microsoft.Synchronization.Data (in Microsoft.Synchronization.Data.dll)

Syntax

'Declaration
Public Property RemoteProvider As SyncProvider
    Get
    Set
'Usage
Dim instance As SyncAgent
Dim value As SyncProvider

value = instance.RemoteProvider

instance.RemoteProvider = value
public SyncProvider RemoteProvider { get; set; }
public:
property SyncProvider^ RemoteProvider {
    SyncProvider^ get ();
    void set (SyncProvider^ value);
}
member RemoteProvider : SyncProvider with get, set
function get RemoteProvider () : SyncProvider
function set RemoteProvider (value : SyncProvider)

Property Value

Type: Microsoft.Synchronization.SyncProvider
An object derived from ServerSyncProvider.

Exceptions

Exception Condition
InvalidCastException

value could not be cast to ServerSyncProvider.

Examples

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

See Also

Reference

SyncAgent Class

Microsoft.Synchronization Namespace