用户A登录故障单管理系统以编辑"SomePage.aspx"上的内容
用户B在30秒后登录以编辑"SomePage.aspx"上的相同票证
用于通知每个用户其他人正在修改相同内容的一些最着名的实践(在3层体系结构中)是什么?
在像HTTP这样的请求/响应系统中,没有太多关于用户当前正在做什么的概念.您可以通知他们其他人在最近两分钟内打开了机票进行编辑(或者甚至阻止他们在这种情况下打开它),但是用户A可以编辑半小时 - 除非您也禁止这样做.您可以记下这样一个事实,即您认为用户A已经有效地"获取"了该项目进行编辑,但是使用网络应用程序时,没有什么可以阻止用户离开计算机而从不保存/取消.
在考虑技术解决方案之前,我建议考虑技术限制(基本上是Web的异步和请求/响应性质)并计算出所需的行为.一些常见的行为是:
首先编辑获胜(告诉第二编辑他们的更改已被拒绝,基本上)
第二次编辑获胜(覆盖第一次编辑 - 告诉第一个编辑器为时已晚)
合并(可能非常困难和/或不可能,具体取决于内容).这可以是自动的或手动的(在第二个编辑器的部分).
在您认为第一个人可能正在编辑时阻止第二个人编辑(由于第一段中提到的问题,很少适合网络应用)