2011-05-12 84 views
0

即時通訊使用簡單的mechanizm,其中登錄後在我的數據庫中有插入userId和expiresDate列的新行。一切都會好的,但我怎麼知道用戶是否離開網站,關閉瀏覽器等?我怎麼能知道用戶是否登錄

其次,如果他在網站上查看不同的頁面,我該如何讓他的session更長。我應該一直在數據庫上進行更新嗎?

什麼是常見的配方?

這是IM,portant適合我,因爲在LIVECHAT我需要知道哪些用戶是否在線,以便客戶端可以與他們聊天

回答

0

一切都將是確定的,但我怎麼能知道,如果用戶離開網站,關閉瀏覽器等?

沒有可靠的方法知道這一點。在特定的閒置時間後,將會話過期。

其次,如果他正在查看網站上的不同頁面,我該如何讓他的session更長。我應該一直在數據庫上進行更新嗎?

是的。你應該使用standard session library來做這件事,那應該爲你處理。

這是IM,我portant,因爲在LIVECHAT我需要知道哪些用戶是否在線,以便客戶端可以與他們聊天

如果你實現一個聊天系統,然後用心跳系統。讓客戶每隔一分鐘左右用JS發送一個「我還活着」的消息。

1

我想你在找什麼是

if(HttpContext.Current.User.Identity.IsAuthenticated) 
1

使用SQLServer的國家服務會話存儲到數據庫中,這將有助於你得到所有的在線用戶的詳細信息。

0

大衛回答說,沒有具體的方法來確定用戶何時離開頁面。您需要使用AJAX(在您的聊天系統中)或其他方法發送服務器,該用戶仍然存在於您的服務器中。當用戶不響應幾個時間間隔時,您認爲他離開了您的網站並需要在服務器中進行更新。

相關問題