我有一个问题,即在所有客户端会话中只允许一个页面实例。因此,如果客户要求提供唯一页面,并且已经有此页面的会话。请求页面的客户端应该有一个消息框,上面写着“此页面已被使用”
我在论坛上看到了这个问题。许多人说“如果客户关闭浏览器(包括唯一页面),就不可能离开”。
服务器端是真的吗?
有没有办法处理这个问题?
将Asp.net与Vb.net一起使用
我希望有人理解我。我的英语不好。
答案 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