2012-02-13 20 views
0

我已经构建了一个Web应用程序,该应用程序显示使用asp.net数据控件的客户列表,每个客户都可以更新,问题是应用程序一次被多个用户使用,例如5-6个,问题是当5个用户同时登录时,他们可以查看同一个客户列表,并且可以在相似时间对同一客户进行更改,限制多个用户同时向datalist提交更改(asp.net)

是否有可能限制用户查看其他用户正在查看的一个客户,例如,如果客户1正在被用户1观看和修改,则用户2,3,4将无法在他们的列表中看到客户1顾客。 任何帮助或教程将不胜感激

回答

1

你有2个选择:悲观并发或乐观并发。

当用户查看它时,悲观并发锁定实体。在此期间没有其他人可以访问该实体。这项工作的规模很小,但很快就会成为大型系统的瓶颈。

乐观并发使用版本号。任何用户都可以查看数据。当更改数据时,版本号必须匹配,否则发生更改。那么您可以通知用户更改并让他们决定取消或更新。这个比例非常好,但需要更多的工作来处理版本冲突。

+0

在我的情况下,我想隐藏用户的整个记录​​,如果该记录是由其他用户显示的 – 2012-02-13 12:10:34

+0

我不知道我会走那么远。用户应该能够看到系统的当前状态,无论是否正在编辑信息。事实上,这是一个Web应用程序使事情复杂化,因为Web没有状态,并且锁定实体以确定时间量是一个坏主意。也许一个视觉指标记录被锁定将是一个更好的起点。所有人都告诉我会选择乐观的并发。 – 2012-02-13 17:49:45

相关问题