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