我有一个ASP.NET MVC应用程序,遭受了可怕的痛苦。在其中一种post方法中,用户可以提交更新。此更新可能需要10秒才能进行计算,而不耐烦的用户有时会多次点击。我相信这会导致数据库更新竞争状况,我不知道该怎么做。我应该在哪里保存“isUpdating” - 变量以阻止此类重复请求?它不能是webrole实例,因为它们是独立的,我的用户可能会最终选择其中一个。由于竞争条件,它也不是数据库。我敢肯定必须有一个标准的方法。例如,我可以看到我将用户限制为特定webroles的场景。这有可能,还是有更好的方法?
答案 0 :(得分:2)
在这种情况下,最好将用户的信息写入队列,然后立即将页面返回给用户。
然后有一个辅助角色,从队列中挑选信息并更新数据库。