1

В настоящее время я разрабатываю приложение для смарт-клиента (WPF), которое должно работать в режиме «время от времени отключено». Для автономного сценария, я смотрю на использование:XCOPY - развертывание Microsoft Sync Framework в сценарии без прав администратора (т. Е. Установка ClickOnce)

  • Disconnected Service Agent Block Application (от Smart Client Software Factory)
  • Microsoft Sync Framework

Я должен упомянуть, что я хочу, чтобы мои приложение для смарт-клиента, которое может быть XCOPY-развертываемым, автоматическим обновлением и установкой без административных привилегий - в основном приложение, развернутое ClickOnce. Из того, что я могу сказать, это означает, что Microsoft Sync Framework отсутствует, потому что у нее есть некоторый COM в ее реализации, который должен быть зарегистрирован на клиенте, который требует прав администратора. Можно ли XCOPY развернуть и запустить MSF из приложения ClickOnce? Любые другие идеи для синхронизации данных?

ответ

1

Зачем использовать Sync Framework? Есть ли конкретный случай использования, который вы имеете в виду, где он будет работать хорошо?

DSA будет складывать служебные вызовы, и как только соединение станет доступным, оно начнет снимать эти звонки в соответствующие службы. Это не то, что вы действительно можете синхронизировать.

Что мы сделали в моих последних двух приложениях Smart Client, было простой ручной реализацией для «синхронизации» таких вещей, как эталонные данные. Все, что получает, синхронизируется не через DSA (синхронизация логически происходит только в подключенном режиме).

Клиентская сторона для каждой «части» данных, для которой требуется синхронизация, мы сохраняем дату и время последней синхронизации. Чтобы синхронизировать, мы отправляем кусок «тип» с последним обновленным временем, затем сервер отправляет обратно дельту новых и обновленных элементов. Не обрабатывает случай для удаленных элементов, но это обычно делает его сложным.

В моем текущем приложении мы синхронизируем эти данные при запуске приложения, так как этого достаточно, но в моей предыдущей системе у нас был фоновый поток, который проверял каждую минуту или около того, если каждая часть должна обновляться (например, каждый 24 часа для неважных предметов, 1 час для важных) и асинхронно инициировать синхронизацию, если это необходимо.

Это немного лишний рабочий клиент и сервер, но, честно говоря, я считаю, что это меньше работает, чем пытаться получить какую-то внешнюю инфраструктуру для этого, особенно если эту инфраструктуру невозможно развернуть в вашем пакете развертывания clickonce.

Создание вашего приложения «случайно связано» значительно увеличивает сложность системы ... так что удачи!

1

Из всего, что я могу сказать, MSF требует установки администратора - что раздражает меня дневной свет, поскольку более ранние версии Sync для ADO.NET этого не сделали.

1

Привет, возможно, слишком поздно, но вы можете использовать пакет bootstrapper. "... Образцы пакета начальной загрузки Sync Framework 2.0, которые можно использовать с установкой Visual Studio & Проекты развертывания и приложения ClickOnce для перераспределения компонентов Sync Framework 2.0 ..." (http://www.microsoft.com/downloads/details.aspx?familyid=109DB36E-CDD0-4514-9FB5-B77D9CEA37F6&displaylang=en)

 Смежные вопросы

  • Нет связанных вопросов^_^