只允许一个页面实例

时间:2013-09-26 08:41:43

标签: asp.net vb.net web

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

我在论坛上看到了这个问题。许多人说“如果客户关闭浏览器(包括唯一页面),就不可能离开”。

服务器端是真的吗?

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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