Класс SyncAgent
Объект SyncAgent руководит синхронизацией.
Пространство имен: Microsoft.Synchronization
Сборка: Microsoft.Synchronization.Data (в Microsoft.Synchronization.Data.dll)
Синтаксис
'Декларация
Public Class SyncAgent _
Implements IDisposable
'Применение
Dim instance As SyncAgent
public class SyncAgent : IDisposable
public ref class SyncAgent : IDisposable
type SyncAgent =
class
interface IDisposable
end
public class SyncAgent implements IDisposable
Замечания
SyncAgent циклически обрабатывает каждую из синхронизируемых таблиц и вызывает клиентскую службу синхронизации для получения и применения изменений в клиентской базе данных. После этого он вызывает серверную службу синхронизации, чтобы получить и применить изменения в базе данных сервера.
Примеры
В следующем примере кода создается класс, производный от класса SyncAgent. Класс создает экземпляры службы синхронизации сервера и клиента, группу синхронизации и добавляет в нее таблицу Customer. При добавлении таблицы указывается направление синхронизации и режим создания таблицы. Чтобы просмотреть этот код в контексте полного примера, см. раздел Как установить двунаправленный обмен добавочными изменениями данных между клиентом и сервером.
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
Иерархия наследования
System. . :: . .Object
Microsoft.Synchronization..::..SyncAgent
Потоковая защита
Все открытые статический (Shared в Visual Basic) элементы этого типа потокобезопасны. Потокобезопасность элементов экземпляров не гарантируется.