我有一个网页,显示了大量的数据从服务器。通信是通过 Ajax 进行的。
每次用户交互和更改这些数据(比如用户 A 重命名某些东西)时,它都会告诉服务器执行这些操作,服务器返回新更改的数据。
如果用户 B 同时访问页面并创建一个新的数据对象,它将再次通过 ajax 告诉服务器,服务器将返回用户的新对象。
在 A 的页面上,我们有一个重命名对象的数据。在 B 的页面上,我们有一个新对象的数据。在服务器上,数据同时具有一个重命名对象和一个新对象。
当多个用户同时使用该页面时,如何保持该页面与服务器同步?
可以避免锁定整个页面或在每次更改时将整个状态转储给用户等选项。
如果有帮助的话,在这个特定的例子中,网页调用了一个静态的 webmethod,它在数据库上运行一个存储过程。存储过程将返回它已更改的任何数据,仅此而已。然后,静态 webmethod 将存储过程的返回转发给客户机。
赏金编辑:
如何设计一个使用 Ajax 与服务器通信但避免并发性问题的多用户 Web 应用程序?
即同时访问功能和数据库中的数据,不存在任何数据或状态损坏的风险