我有一个不确定的查询。 我正在为客户开发 MVC Web 应用程序,该应用程序管理存储在 SQL 中的 XML 文档中的内容。
当用户访问 XML 文档时,它会被复制到用户进行任何更改的 session 中,然后在触发保存更改事件时正确提交回数据库。
客户已请求锁定,以防止其他用户访问/修改 XML 内容(如果其他用户已经在访问它)。
首先,我什至不确定如何实现这样的功能,或者您将如何决定 session 是否处于事件状态,或者是否应该应用保存超时(但最终会惹恼需要很长时间进行更改的用户) ,但更重要的是,我个人认为考虑到我们正在处理的极端期限,他们拥有它的理由不足以保证它。
他们的理由是他们当前的解决方案“做到了”,新的也应该如此。 然而,他们当前的解决方案基于一个完全不同的平台,我认为客户不理解他们的要求 - 因为它最终可能会成为更多的障碍。
其他人对此有何看法,有没有人处理过类似的情况?
最佳答案
也许只是用位域锁定记录?
向数据库记录添加一个 bool 标志,例如RecordInUse
。
当用户查看 xml 内容时,设置标志。当用户结束对记录的访问时,取消设置标志。
每当有人想要查看 xml 时,请在允许访问之前检查是否设置了标志。
您只需要弄清楚当人们关闭浏览器时如何处理这种情况。
关于c# - MVC ASP.Net 上的 session 锁定 - 防止用户同时访问同一资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35865366/