-1

请给我这两个问题的解决方案,这是我最近在采访中被问到的。

Prob1:假设我有 10 个管理员的应用程序,所以他们可以随时更改数据,因为他们有自己的用户名和密码。例如,一位用户从数据库表中检索了一条数据,检索到的值为 2,检索后他没有更新更新按钮,然后他休息了 10 分钟。在其他管理员之间,第 10 位管理员将原始数据库表的值更改为 3、4、5 和最后 10。现在表10中的当前值。但是当他来自休息并单击更新按钮时,值2将被保存,这根本不是预期值..应该是10。如何解决这个问题????

问题 2:假设一位用户在当天离开时忘记注销他的应用程序。10 分钟后,他到达他家时,由于紧急情况,他又想从家里的电脑上打开那个应用程序。如果他在那段时间内尝试登录应用程序会发生什么????(会话超时为 30 分钟)。如果它是一个问题如何克服这个????

请给我解决方案......请......请

谢谢, 苏米特

4

2 回答 2

1

Prob_1:除非有一种锁定方法来编辑数据(当您读取数据时数据被锁定,直到您完成没有人可以编辑,在这种情况下,其他管理员将无法编辑而我们的人正在喝咖啡休息时间)当那个人回来并更新值时(假设当前在屏幕上的所有值都将在单击此应用程序上的更新时被覆盖)没有理由为什么您正在谈论的值不应该是2。

尽管如此,这么说我怀疑:

  1. 我的回答没有任何意义 - 我正在尽力解释您的问题,但 smt 很有可能在翻译中迷失方向。
  2. 面试官想让你谈谈在茶歇期间到期的会话超时

Prob_2:这是网络应用程序的标准问题。在 asp.net 中,有很多方法可以利用 global.asax 检查给定用户是否已经登录。这是一个包含所有答案的教程- 让自己失望:)

于 2009-11-15T13:47:32.017 回答
1

第一个问题与处理数据库并发有关,请参阅此博客文章以获得很好的解释。

二不是真正的问题,因为他只需从他的家用计算机登录并创建一个新会话。大多数 Web 应用程序支持多个相同的用户会话。如果这不是你想要的行为,你必须做一些工作。如果那是所需的行为,则不是。

于 2009-11-15T13:06:00.387 回答