如何从多用户编辑锁定asp.net页面?

3 c# asp.net

我有一个页面,其中包含一系列经过身份验证的用户可以更改的复选框.我需要让这个页面一次只能由一个人编辑.因此,如果用户进入并编辑其中一个复选框,则没有其他人可以进入该页面并更改其他复选框.

我想到了一个编辑页面链接和一个只读页面链接(禁用所有控件),然后在用户进入编辑模式时设置数据库标志,但我担心的是我不知道用户是否更改了某些内容,然后只是x'd在浏览器/应用程序之外,锁定其他人.

这是公司的内部应用程序.有没有人做过这样的事情?

任何想法或想法或建议?

谢谢

Joe*_*Joe 5

我们在较旧的ASP应用程序上具有此功能.用户将使用某种类型的主键加载数据.我们输入一个DB条目来"锁定"该页面.如果他们正确地在网站上移动,那么它将在那时解锁资源.

打开此页面的其他用户将收到页面已锁定且呈现只读版本的指示.

编写一个unPageUnload AJAX调用来重置锁定浏览器关闭是相当简单的.我们不认为这是一个很大的问题,如果超过4个小时,旧锁只会被晚间过程清除.

我们的情况是页面与特定的数据区域相关联.如果这是一个通用的配置屏幕,我认为一个更加动态的AJAX解决方案可以推动更新并ping更改可能是有意义的.您必须在收到第一个更新后决定是否要禁用其他更改,或者对数据实施冲突检测.

某些类型的页面数据散列可能会使这更容易检测到更改.

  • 您没有在数据库中实现正确的事务,您可以确保只有一个人获得锁定 (2认同)