У мене є веб-сторінка, яка показує велику кількість даних із сервера. Зв'язок здійснюється через ajax.
Кожного разу, коли користувач взаємодіє та змінює ці дані (Скажімо, користувач А перейменовує щось), він повідомляє серверу виконати дію, а сервер повертає нові змінені дані.
Якщо користувач B одночасно звертається до сторінки та створює новий об'єкт даних, він знову скаже серверу через ajax, і сервер повернеться з новим об'єктом для користувача.
На сторінці A ми маємо дані з перейменованим об’єктом. А на сторінці B ми маємо дані з новим об’єктом. На сервері дані мають як перейменований об’єкт, так і новий об’єкт.
Які мої варіанти підтримують синхронізацію сторінки із сервером, коли кілька користувачів одночасно використовують її?
Такі варіанти, як блокування всієї сторінки або передача користувачеві цілого стану при кожній зміні, навряд чи уникаються.
Якщо це допомагає, у цьому конкретному прикладі веб-сторінка викликає статичний веб-метод, який запускає збережену процедуру в базі даних. Збережена процедура поверне будь-які дані, які вона змінила, і не більше. Потім статичний веб-метод пересилає повернення збереженої процедури клієнту.
Редагування Bounty:
Як ви розробляєте багатокористувацьку веб-програму, яка використовує Ajax для зв’язку з сервером, але уникає проблем із паралельністю?
Тобто одночасний доступ до функціональних можливостей та даних у базі даних без будь-якого ризику даних чи корупції