Sync Framework поверх WCF без сессий - PullRequest
2 голосов
/ 06 марта 2012

В настоящее время я хочу использовать Microsoft Sync Framework (2.1) для синхронизации клиентов (под управлением SQL Server Express) с облачным центральным хранилищем данных, используя WCF для всех коммуникаций.

Центральным хранилищем данных является база данных SQL, к которой подключено масштабируемое количество обрабатывающих узлов, каждый из которых имеет свой экземпляр службы WCF для обработки вызовов синхронизации.

При синхронизации может быть передан большой объем данных с сервера клиентам, поэтому я считаю, что пакетирование необходимо, чтобы избежать проблем с памятью, лучше обрабатывать ненадежные соединения и т. Д. Моя проблема заключается в том, что NБолее примеры, которые я видел, по-видимому, требуют наличия режима экземпляра PerSession на стороне службы WCF, а пакетные файлы хранятся в определенном месте на диске, что не вариант, так как нет гарантии, что последующие вызовы будут идти к тому жеузел обработки, поэтому все мои службы WCF настроены на создание экземпляров PerCall.

Каков наилучший способ решения этой проблемы пакетирования?Есть ли способ хранить пакеты в центральном хранилище данных (скажем, в базе данных моего сервера) или есть альтернатива пакетной обработке, чтобы уменьшить размер набора данных для передачи «кусочков», который будет более надежным?

1 Ответ

1 голос
/ 07 марта 2012

пакетирование в Sync Framework предназначено только для передачи изменений, а не для применения изменений.так что если у вас есть сеанс синхронизации, изменения которого делятся на 10 пакетов, один пакет не применяется по отдельности.скорее, все 10 партий применяются как одна.внутренне, пакеты на самом деле являются байтовыми массивами, которые реконструируются в набор данных.поэтому вы не можете иметь часть пакета в одном узле, а другие - в других узлах.

не уверен, поможет ли это, но пример службы синхронизации Windows Azure может предложить вам несколько способов храненияпакетный файл и написание аналогичной службы и обработки пакетной обработки.

взгляните на Пример использования службы синхронизации Windows Azure

...