我的网页上有html页面 应用。该页面由客户端锁定,并由同一客户端解锁。 如果客户忘记解锁或关闭浏览器,请按页面上的后退按钮,其他链接将始终锁定页面,无法解锁。如果忘记解锁,我需要在上述情况下解锁页面 感谢
答案 0 :(得分:1)
指定锁定的超时。由于http是无状态的,你无法以“正常方式”观察客户端。
修改强>:
通过设置/观察一些bool标志,我在服务器端的每个客户端/锁定协议活动。 TimerTask
定期观察该标志,如果false
,则将标记设置为true
,如果是false
则将其锁定。
答案 1 :(得分:1)
我建议您考虑一种更适合您环境操作特性的设计。
不是在单独的事务中锁定和解锁(这是你现在拥有的),而是考虑一种乐观锁定形式 - 基本上,允许任何人访问数据,但如果他们在另一个用户提交了数据后提交修改修改相同的数据,拒绝并让用户有机会再次进行更改。
让用户/客户端明确锁定和解锁很容易编码,但很难使用(我们都非常关心用户的体验!)Cheerio。