如何限制多个用户访问相同的保险案例

时间:2013-10-03 10:36:26

标签: java session

我在设计应用程序时需要一些建议,在我的应用程序中会有保险案例,根据角色,用户将访问案例和Case的不同生命周期级别。我需要限制用户访问相同的案例。如果一个用户正在使用caseid(123)访问一个案例,而其他用户不能访问同一个案例(123)。请有人建议我如何实现这一目标。

3 个答案:

答案 0 :(得分:0)

你需要某种锁定。根据您的具体要求,有不同的方法来实现这一目标。

对于Web应用程序,只要用户保留在编辑页面上,您就可以使用this algorithm使用表来存储锁和ajax来刷新锁。即使您不在客户端上使用PHP,也可以使用该算法。

答案 1 :(得分:0)

以下是执行此操作的一种方法

  1. 在数据库中进行配置(添加一列)以指示正在访问该特定情况。
  2. 当用户访问案例时,如果已经访问该案例,则检查数据库字段,如果不更新指示相同的数据库字段。
  3. 如果是其他用户,尝试访问同一个案例,那么根据数据库字段值将发送相应的响应
  4. 重要的是要注意#2中提到的事务,即数据库读取和更新应该是ATOMIC。

答案 2 :(得分:0)

您计划实施锁定的方式不是一个好习惯。我不确定我的sql,但如果你使用的是microsoft sql或oracle,那么最好的做法是实现乐观的锁机制。 下面给出的链接可以帮助您更好地理解。

www.asp.net/mvc/overview/getting-started/getting-started-with-ef-using-mvc/handling-concurrency-with-the-entity-framework-in-an-asp-net-mvc -application