2013-09-26 38 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