Допустим, у меня есть список сущностей (например, список элементов TODO), которые могут изменять, удалять и добавлять одновременно несколько пользователей.Как реализовать «получить замененные элементы latests» с помощью служб данных ADO.NET?
Таким образом, чтобы настроить синхронизацию между всеми клиентами, я хочу, чтобы каждый клиент (на основе AJAX) запрашивал изменения каждые xx секунд. Поскольку список может увеличиваться, я не хочу делать полный запрос каждый раз, но только запрашиваю измененные элементы (элементы могут быть обновлены, удалены или новые).
Возможно ли это с помощью служб данных ADO.NET? Если да, как это реализовать, если я использую Entity Framework на сервере?
Я рассмотрел использование кеша ASP.NET для хранения элементов изменения, когда операция изменения отправлена службе данных и имеет собственный веб-метод, который будет возвращать последние изменения с последнего запроса последнего клиента (запросы могут быть отслеживается через объект сеанса клиентов ASP.NET). Однако я не знаю, как указать состояние изменения отдельного элемента (например, удалено или обновлено или вставлено) в наборе результатов.
Отличное решение также позволит клиенту запрашивать изменения во многих объектах в одном и том же обратном направлении к серверу.
Любые входные данные будут очень восприимчивыми.
С уважением, Egil.
Спасибо за вход Кристофер. Ваша идея, безусловно, будет работать, но я хотел бы сохранить управление изменениями из базы данных, в моем мире это связано с клиентом и не имеет особого отношения к данным. –
Возможно, вы могли бы использовать в основном ту же схему без использования БД путем кэширования набора результатов в global.asax и добавления поля генерации и т. Д. К набору результатов там. Затем вы можете кэшировать номер поколения клиента в сеансе или в JS для получения обновлений/вставок/удалений. –
Мне нужно хранить данные в базе данных, но если бы я мог каким-то образом изменить набор результатов на лету, было бы здорово. Я не уверен, как EF позволяет мне это делать. –