【发布时间】:2013-11-05 09:50:37
【问题描述】:
我有一个 SQL Server 2008 数据库和一个 asp.net 前端。
当用户当前正在编辑记录但不确定哪个是最佳方法时,我想实施锁定。
我的想法是为记录设置一个 isLocked 列,并在用户拉取该记录时将其设置为 true,这意味着所有其他用户在第一个用户完成编辑之前都具有只读访问权限。
但是,如果会话超时并且他/她从不保存/更新记录,记录将保留在isLocked = true,这意味着其他人无法编辑它,对吧?
如何实现某种会话超时并在会话超时(或在预定义的时间段之后)时自动将 isLocked 设置为 false
这应该在asp.net端还是SQL端实现?
【问题讨论】:
-
您真的确定要这样做,而不是使用乐观锁定。有几种方法可以强制锁定 sql server,但它们开始变得混乱并变得更糟。