我有一个网页显示来自服务器的大量数据。通信是通过 ajax 完成的。
每次用户交互并更改此数据(假设用户 A 重命名某些内容)时,它都会告诉服务器执行操作,并且服务器返回新更改的数据。
如果用户 B 同时访问该页面并创建一个新的数据对象,它将再次通过 ajax 告诉服务器,服务器将为用户返回新对象。
在 A 的页面上,我们有带有重命名对象的数据。在 B 的页面上,我们有一个新对象的数据。在服务器上,数据既有重命名的对象,也有新的对象。
当多个用户同时使用它时,我有哪些选项可以使页面与服务器保持同步?
诸如锁定整个页面或在每次更改时将整个状态转储给用户等选项都被避免了。
如果有帮助,在此特定示例中,网页会调用在数据库上运行存储过程的静态 web 方法。存储过程将返回它已更改的所有数据,不再返回。然后静态 web 方法将存储过程的返回转发给客户端。
赏金编辑:
您如何设计一个使用 Ajax 与服务器通信但避免并发问题的多用户 Web 应用程序?
即同时访问功能和数据库上的数据,没有任何数据或状态损坏的风险