Поделиться через


Класс SyncGroup

Представляет группу объектов SyncTable и обеспечивает механизм обеспечения согласованности применения изменений для этих таблиц.

Пространство имен:  Microsoft.Synchronization.Data
Сборка:  Microsoft.Synchronization.Data (в Microsoft.Synchronization.Data.dll)

Синтаксис

'Декларация
<SerializableAttribute> _
Public Class SyncGroup
'Применение
Dim instance As SyncGroup
[SerializableAttribute]
public class SyncGroup
[SerializableAttribute]
public ref class SyncGroup
[<SerializableAttribute>]
type SyncGroup =  class end
public class SyncGroup

Замечания

После того как таблица синхронизации определена, ее можно добавить в группу синхронизации. Группа синхронизации представляет собой механизм, который обеспечивает согласованность применения изменений для набора таблиц. Если в группу синхронизации включено несколько таблиц, то все изменения для них передаются как единое целое и применяются в одной транзакции. Если какое-либо из изменений в группе завершилось неуспешно, то повторная попытка применить изменения для всей группы будет предпринята только при следующей синхронизации.

Примеры

Следующий пример кода представляет собой класс, который является производным от класса SyncAgent. В коде создаются две группы и три таблицы синхронизации. Таблица Customer добавляется в группу Customer, а таблицы OrderHeader и OrderDetail — в группу Order. Все таблицы доступны только для загрузки. Если таблица существует на клиенте, при начальной синхронизации она будет удалена и создана повторно. Чтобы просмотреть этот код в контексте полного примера, см. раздел Как фильтровать строки и столбцы.

//Create two SyncGroups so that changes to OrderHeader
//and OrderDetail are made in one transaction. Depending on
//application requirements, you might include Customer
//in the same group.
SyncGroup customerSyncGroup = new SyncGroup("Customer");
SyncGroup orderSyncGroup = new SyncGroup("Order");

//Add each table: specify a synchronization direction of
//DownloadOnly.
SyncTable customerSyncTable = new SyncTable("Customer");
customerSyncTable.CreationOption = TableCreationOption.DropExistingOrCreateNewTable;
customerSyncTable.SyncDirection = SyncDirection.DownloadOnly;
customerSyncTable.SyncGroup = customerSyncGroup;
this.Configuration.SyncTables.Add(customerSyncTable);

SyncTable orderHeaderSyncTable = new SyncTable("OrderHeader");
orderHeaderSyncTable.CreationOption = TableCreationOption.DropExistingOrCreateNewTable;
orderHeaderSyncTable.SyncDirection = SyncDirection.DownloadOnly;
orderHeaderSyncTable.SyncGroup = orderSyncGroup;
this.Configuration.SyncTables.Add(orderHeaderSyncTable);           

SyncTable orderDetailSyncTable = new SyncTable("OrderDetail");
orderDetailSyncTable.CreationOption = TableCreationOption.DropExistingOrCreateNewTable;
orderDetailSyncTable.SyncDirection = SyncDirection.DownloadOnly;
orderDetailSyncTable.SyncGroup = orderSyncGroup;
this.Configuration.SyncTables.Add(orderDetailSyncTable);
'Create two SyncGroups so that changes to OrderHeader
'and OrderDetail are made in one transaction. Depending on
'application requirements, you might include Customer
'in the same group.
Dim customerSyncGroup As New SyncGroup("Customer")
Dim orderSyncGroup As New SyncGroup("Order")

'Add each table: specify a synchronization direction of
'DownloadOnly.
Dim customerSyncTable As New SyncTable("Customer")
customerSyncTable.CreationOption = TableCreationOption.DropExistingOrCreateNewTable
customerSyncTable.SyncDirection = SyncDirection.DownloadOnly
customerSyncTable.SyncGroup = customerSyncGroup
Me.Configuration.SyncTables.Add(customerSyncTable)

Dim orderHeaderSyncTable As New SyncTable("OrderHeader")
orderHeaderSyncTable.CreationOption = TableCreationOption.DropExistingOrCreateNewTable
orderHeaderSyncTable.SyncDirection = SyncDirection.DownloadOnly
orderHeaderSyncTable.SyncGroup = orderSyncGroup
Me.Configuration.SyncTables.Add(orderHeaderSyncTable)

Dim orderDetailSyncTable As New SyncTable("OrderDetail")
orderDetailSyncTable.CreationOption = TableCreationOption.DropExistingOrCreateNewTable
orderDetailSyncTable.SyncDirection = SyncDirection.DownloadOnly
orderDetailSyncTable.SyncGroup = orderSyncGroup
Me.Configuration.SyncTables.Add(orderDetailSyncTable)

Иерархия наследования

System. . :: . .Object
  Microsoft.Synchronization.Data..::..SyncGroup

Потоковая защита

Все открытые статический (Shared в Visual Basic) элементы этого типа потокобезопасны. Потокобезопасность элементов экземпляров не гарантируется.

См. также

Справочник

Элементы SyncGroup

Пространство имен Microsoft.Synchronization.Data