Синхронизация Silverlight - PullRequest
0 голосов
/ 19 июня 2009

Я занимаюсь разработкой приложения silverlight, и мне нужно синхронизировать список в разных экземплярах silverlight, которые могут быть отключены. У меня будет сервер, чтобы синхронизировать их.

Итак, мы можем представить это:

pc1: A1 A2 A3

pc2: A1 A2 (A3 удалено)

сервер: A1 A2 A3 (удаляет A3 для отражения pc2, а затем обновляет pc1, чтобы также удалить)

Это должно отражать и порядок вещей. Я хочу использовать это с Silverlight онлайн и офлайн (вне браузера).

Кто-нибудь из вас решил проблему, подобную этой? Какие хорошие подходы к этому?

Спасибо, Артур

1 Ответ

2 голосов
/ 19 июня 2009

В обычной автономной среде вы будете использовать что-то вроде Synchronization Services, чтобы справиться с этим, но это немного тяжелее для клиента Silverlight.

Я бы начал с присвоения каждому пункту в списке GUID. Затем я веду журнал вставок, обновлений и удалений списка на каждом клиенте и на сервере. Затем каждый раз, когда клиент подключается к серверу, вы должны выполнить синхронизацию слиянием. В этом случае вы должны обнаружить и обработать конфликты:

  • Кто-то редактирует элемент, а кто-то удаляет его
  • Два клиента редактируют элемент одновременно

Ваше требование обрабатывать переупорядочение предметов добавляет некоторую сложность. Возможно, вы захотите зарегистрировать переупорядочение как действие «перемещено до элемента x» или «перемещено после элемента x» вместо обновления всех индексов всех элементов в списке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...