4

我发现了一些非常奇怪的东西,我很惊讶,我想知道是否有人以前发现过它或者可以想象发生了什么。

我有一个 ASP.NET MVC3 国际象棋应用程序。现在我正在开发一个大厅,供用户加入并向其他人发送比赛邀请。

大厅上的用户通过 HttpContext.Application 中包含的类进行跟踪,当用户访问大厅的 url 被添加到用户列表中并且当他离开页面时,从 onUnload 事件触发的 AJAX同步调用被将他从列表中删除。

在页面上,javascript 代码会定期向服务器询问当前用户列表并在客户端页面上更新它。

现在,所有这些工作都很好,但是当我重新加载大厅页面时,我看到登录的用户正在从列表中消失。我检查了执行情况,发现刷新页面时,加载大厅的控制器在删除用户的 AJAX 调用之前触发,因此控制器首先尝试将用户添加到列表中(但由于他已经在列表中,他没有添加),然后他就被删除了。

我假设刷新时,onUnload 事件将执行,并且在它返回后,页面将再次加载......但似乎没有按预期顺序发生。

有什么想法/建议吗?谢谢。

4

0 回答 0