2013-07-31 2 views
1

Я реализую Azure Mobile Service, и у меня есть набор объектов, к которым можно получить доступ несколькими пользователями, потенциально в одно и то же время. Моя проблема в том, что я не могу найти много информации о том, как справляться с потенциальными проблемами параллелизма, которые могут возникнуть в результате этого.Обработка параллелизма Azure для мобильных устройств в SQL?

Я знаю, что «Azure Tables» реализует проверку E-Tag. Есть ли готовое решение для Azure Mobile Services для этого с SQL? Если нет, то какой подход я должен буду здесь делать.

Должен ли я просто выполнить проверку E-Tag вручную? Я мог бы включать GUID объекта, который генерируется каждый раз, когда объект сохраняется и проверяется при сохранении. Это должен быть относительно безопасный способ сделать это?

ответ

2

Для конфликтов между несколькими клиентами вам необходимо добавить механизм обнаружения/разрешения. Вы можете использовать «временную метку» (обычно последовательно увеличиваемую версию) в своей схеме таблиц и проверить ее в своем сценарии обновления. Вы можете завершить обновление, если метка времени, используемая клиентом для чтения, старше текущей метки времени.

Если вы хотите использовать ETags через HTTP-заголовки, вы можете использовать пользовательские API-интерфейсы. Мы изучаем возможность использования сценариев CRUD для установки заголовков, но недоступных сегодня. Отдельно мы также изучаем офлайн-сценарии.

(Прог-менеджер, Windows Azure Mobile Services)

+0

Хорошо. Благодаря!! – Muhwu