作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个页面,其中包含一系列经过身份验证的用户可以更改的复选框。我需要让这个页面一次只能由一个人编辑。因此,如果用户进入该页面并编辑其中一个复选框,则其他任何人都无法进入该页面并更改其他复选框。
我考虑过一个编辑页面链接和一个只读页面链接(禁用所有控件),然后在用户进入编辑模式时设置一个数据库标志,但我担心的是我不知道用户是否更改了某些内容,然后就可以了x'd 退出浏览器/应用程序,将其他人拒之门外。
这是公司的内部应用程序。有人做过这样的事吗?
有什么想法或想法或建议吗?
谢谢
最佳答案
我们在较旧的 ASP 应用程序上具有此功能。用户将使用某种类型的主键加载数据。我们放入一个数据库条目来“锁定”该页面。如果他们在站点中正确移动,它会在那时解锁资源。
打开此页面的其他用户将收到页面已锁定且呈现只读版本的指示。
编写一个 unPageUnload AJAX 调用来重置浏览器关闭的锁是相当简单的。我们认为这不是什么大问题,如果超过 4 小时,旧锁只会在晚间进程中清除。
我们的情况是页面与特定数据区域相关联。如果这是一个通用的配置屏幕,我认为一个更动态的 AJAX 解决方案可以推回更新和 ping 更改可能是有意义的。您必须决定是要在收到第一次更新后禁用其他人的更改,还是要对数据实现冲突检测。
某些类型的页面数据散列可能会更容易检测到更改。
关于c# - 如何从多用户编辑中锁定 asp.net 页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/836280/
我是一名优秀的程序员,十分优秀!