|
|
1
4
在数据库中的行上放置一个lock timestamp字段。编写一个存储过程,如果过期时间超过特定时间,则返回true或false。将web应用上的会话设置为在同一时间(一两分钟)过期。当用户选择一行时,他们点击存储的进程,这有助于应用程序决定是否允许用户修改它。 希望这是有道理的。。。。 |
|
|
2
3
|
|
|
3
3
有两件事可以帮助缓解您的问题。 首先,无论您的ajax更新时间框架如何,都需要在选择后通知案例已被处理。即使每秒钟检查一次也不意味着两个人不能在他们认为是同一时间单击同一个案例。在这种情况下,需要通知其中一个用户他们的选择是无效的,即使选择时它看起来是有效的。此通知无需详细说明;即使在失望的情况下,保持轻松、有益的语气也可以改善用户的感知。而且,如果您确定已经选择了该记录的用户,这不仅有助于您的用户在将来进行协调,而且还可以将注意力从您的程序转移到破坏该有趣案例的用户身上。(事实上,管理层可能会 其次,对案例的显示方式进行一个小调整可以减少选择冲突。在显示顺序中添加一个随机元素和/或过滤掉显示的每一个案例将帮助用户自然地选择不同的案例。人类的模式识别和任务选择并不是真正随机的,所以对表现形式的微小改变可以等同于对选择行为的巨大改变。碰撞机会的减少使碰撞通知变得很少(从而减少用户的沮丧情绪)。如果您的用户可以被划分为可以帮助确定有用的案例排序/筛选的分类,这就更好了。 好的,随着时间的推移,第三件事将帮助您,如果您记录碰撞发生的时间(使用有关碰撞的有用元数据,如参与碰撞的人员和选择时间)。借助可靠的碰撞数据,您可以找到哪些有效,哪些无效。随着时间的推移,您可以根据您的实际用例改进您的应用程序,并尽早发现潜在的问题。没有什么比在用户意识到问题存在之前就掌握问题(并能够解释解决问题的计划)更能让他们放心的了。 有了这些缓解模式,您可能会发现可以安全地缩短ajax查询时间,而不会影响用户体验。使用有用的日志记录,您可以确保您所做的任何调整实际上都在工作(或者不工作,这可能更有用)。 |
|
|
4
2
如果这是不可能的,我想你可以检查一个问题的选择,看看它是否仍然可用。如果它不可用,则在用户单击它后使其消失。这样,您仅在他们实际单击某个对象时才请求,而不是不断轮询数据。 |
|
|
5
2
|
|
|
6
1
我没有看到这个问题,特别是在您提到您已经将票据标记为正在进行/正在维护,并且具有项目的时间戳/版本之后。
将会发生的是,对于第二个人,更新。。。哪里timestamp=@timestamp将找不到任何要更新的记录,您将报告票证已被获取。 如果您愿意,可以在上面的基础上进行构建,以便在抓取票证时更新UI。这可以通过在x时间之后对当前的票证页面进行完全刷新(可能会提醒/提示用户),或者甚至通过检索为使用ajax显示的票证页面更改的票证列表来实现。您仍然有前面的步骤,因为此修改只是为了方便用户。 |
|
|
Mear1628 · vb.net从随机选择的端口号接收UDP 10 月前 |
|
|
user1946932 · .Net正则表达式在所有字符前添加空格 11 月前 |
|
|
user1946932 · 正则表达式:删除连续两个以上的<br>? 1 年前 |
|
|
Josh · 通过反思访问孩子的财产 1 年前 |
|
|
Khu RJ · 更新网格中的单元格-DevExpress网格控件 1 年前 |
|
|
Mick · VB.NET Regex。替换不起作用(数组未更新) 1 年前 |