请给我解决这两个问题,我最近在采访中被问到了这个问题。
Prob1:假设我有10个管理员的应用程序,因此他们可以在拥有自己的用户ID和密码的任何时候更改数据。例如,一个用户从数据库表中检索一个数据,而检索它的值是2,在检索后他没有更新更新按钮,然后他休息了10分钟。在其他管理员之间,由第10个管理员更改原始数据库表,其值为3,4,5,最后为10。现在表10中的当前值。但是当他来自休息并点击更新按钮时,值2将被保存,这根本不是预期值。应该是10.如何处理这个问题????
Prob2:假设一个用户在他离开当天时忘记注销他的应用程序。在他到达家中10分钟后,由于紧急情况,他想再次从家用电脑打开该应用程序。如果他试图在那段时间内登录应用程序会发生什么????(会话超时为30 Mints)。如果它有问题怎么克服这个????
请给我解决方案......请... pls
谢谢, 萨米特
答案 0 :(得分:1)
第一个问题是处理数据库并发问题,请参阅this blog post以获得更好的解释。
两个并不是真正的问题,因为他只需从家用电脑登录并创建一个新会话。大多数Web应用支持多个相同的用户会话。如果这不是你想要的行为,你必须做一些工作。如果这是期望的行为,那就不是。
答案 1 :(得分:1)
Prob_1:除非存在编辑数据的锁定方法(数据在您阅读时被锁定并且直到您完成没有人可以编辑,在这种情况下其他人可以编辑管理员无法编辑,而我们的家伙正在他的咖啡休息时间)当这个人回来并更新值时(假设当前所有的值)在此应用上点击更新时,屏幕将被覆盖)没有理由说你所谈论的价值不应该是2.
尽管如此,所以我怀疑:
Prob_2 :这是网络应用的标准问题。在asp.net中,有很多方法可以检查给定用户是否已经使用global.asax登录。这是所有答案的a tutorial - 自己敲出来:)