0

我有一个关于在所有客户端会话中只允许一个页面实例的问题。因此,如果客户要求唯一页面并且已经与该页面进行了会话。请求页面的客户端应该会收到一个消息框,上面写着“此页面已在使用中”

我在论坛上读到了这个问题。很多人说“如果客户端关闭了浏览器(包括唯一页面)就不可能出去”。

服务器端是这样吗?

有没有办法处理这个问题?

将 Asp.net 与 Vb.net 一起使用

我希望有人能理解我。我的英语不好。

4

1 回答 1

1

跟踪当前用户是否仍在使用页面的问题可以通过使用带有 Timer 的 UpdatePanel 来管理,然后每 500 毫秒(或您想要的任何间隔)设置一个应用程序变量时间

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs)
    Application["PageLastUsed"] = DateTime.Now;
End Sub 

如果页面正在使用,则重定向用户

TimeSpan duration = DateTime.Now - (DateTime)Application["PageLastUsed"];
if (duration.TotalSeconds < 2)
{
    Response.Redirect("InUsePage.aspx");
}

在此处查看计时器信息http://msdn.microsoft.com/en-us/library/cc295400.aspx

于 2013-09-26T08:59:16.987 回答