asp.net并发/冲突检测问题

时间:2010-12-13 15:02:45

标签: asp.net concurrency

我有一个页面,用户可以将任务分配给人员。他们选择任务和一个或多个人或一组人。这是通过级联listviews完成的。第一个列表视图包含该组,在需要时向下钻取所选组的各个人。

当用户选择任务和一组人员时,在我的数据库中,这些组中的人员被分配任务,而不是组本身。使其灵活,以便可以为来自不同组的一个或多个人分配相同的任务。

因此用户在选择组时不会真正看到个人,我不必加载它们。只有当他们向下钻取我才会为该组加载人员。

正如我在分配给一个小组时提到的那样,我更新了该组中的人员,但由于我没有加载它们,我不知道他们的旧任务是什么。

这让我觉得在加载组时我应该为每个人存储他的旧任务,以便稍后我可以比较它们。

问题1: 什么是存储老人的任务的好方法,以便我可以将它与新任务进行比较?如果它们不同,我就会发生冲突并且可以中止更新,告诉用户刷新他的页面。

(请注意,在真实程序中,我有嵌套组,其中可以包含顶级组中的数千人到最低级别组中的几个人)。

问题2: 至于一般冲突检测,将首次加载页面时的时间戳(如果有)与时间戳(我有)更新记录是一个好主意吗?如果在加载页面后更新了记录,我可以通知用户吗?我不知道是否是他正在处理的数据发生了变化,因为不同的页面可以更新同一记录中的不同字段,但在这种情况下不会产生任何冲突,但会改变时间戳。

0 个答案:

没有答案