【发布时间】:2015-01-09 02:13:31
【问题描述】:
我目前正在设计一个将使用 MVC4 构建的 Web 应用程序。
系统的要点是有一个显示记录列表的主视图。记录将在生成时添加到网格中。用户可以在“编辑”类型的视图中打开记录。
其中一个要求是,如果一个用户在“编辑”视图中打开了一条记录,而另一个用户尝试打开同一条记录,则将通知第二个用户第一个用户当前正在处理该记录。
有人要求我避免使用任何类型的锁定机制。他们只是想知道其他人已经打开了它。
这样的事情可能吗?我一直在绞尽脑汁却不知所措。
【问题讨论】:
-
在没有明确“避免任何类型的锁定机制”的含义的情况下,答案是“否”——您需要以某种方式/某处存储有关正在进行的编辑的信息,并且一旦您这样做就可以被视为“锁定”机制”。
-
基本上他们想要避免“硬锁”或会阻止其他用户访问记录的锁。这样做的原因是因为他们遇到了锁没有被正确释放的问题,这导致了问题。后端技术是 MUMPS,虽然它有一些本机锁定机制,但由于我们必须从 .net 访问数据的方式,这些机制显得有些无用。
标签: c# .net asp.net-mvc-4 web