2013-09-26 119 views
0

我有一个问题,只允许在所有clientsessions一个pageinstance。因此,如果客户要求独特的页面,并且已经与该页面进行了会话。请求页面的客户端应该会看到一个消息框,其中显示“此页面已在使用中”只允许一个页面的实例

我在论坛上阅读了此问题。许多人说:“如果客户关闭了浏览器(包括独特的页面),就不可能离开”。

这对服务器端来说是否属实?

有没有办法解决这个问题?

使用Asp.net与Vb.net

我希望任何人都了解我。我的英语不好。

+0

其interesting..will遵循这个职位不同答案.. – Sasidharan

+0

我知道这样做的最佳方式是通过单个页面应用程序站点。当然,由于你已经完成的工作,这对你来说可能不是一个实际的选择。 – jfrankcarr

回答

1

与跟踪的当前用户是否仍在使用该页面可以管理由具有一个计时器,然后设置每500ms应用程序变量时一个UpdatePanel(或任何你想要的时间间隔)的问题

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

+0

这听起来很有趣。我会立即尝试这个 –

+0

对不起,代码是c#...但原理是一样的。这种方法意味着您不必担心识别用户,因为它绝不会让多个用户打开该页面:-) – guymid