[英]Find out how many users are online in asp.net web application
我正在開發一個Web應用程序,學生可以在其中進行考試。 這是顯示在管理員和教員面板中登錄哪些學生的要求。 首先,我更新了數據庫中名為flag的列,該列在登錄時變為1,在注銷時變為0。但是當瀏覽器強行關閉時,無法更新。 為此,我使用了Java腳本方法,該方法會在我們導航到另一頁面時觸發,並顯示學生已注銷。
有沒有相同的解決方案。
沒有關閉用戶瀏覽器而不注銷的更新用戶狀態的簡便方法。 您可以在Global.asax中使用Session_End事件,但這將在會話期滿(通常為20分鍾)時觸發。 另外,在Session_End中,您沒有有關已認證用戶的信息,只有會話ID。
如果您使用ASP.NET成員身份對用戶進行身份驗證,則有一種方法可以滿足您的需求
Membership.GetNumberOfUsersOnline()
將此代碼添加到您的Global.asax頁面上
public void Session_Start(object sender, EventArgs e)
{
// Fires when the session is started
Application["UserCount"] = Convert.ToInt32(Application["UserCount"].ToString()) + 1;
}
public void Session_End(object sender, EventArgs e)
{
// Fires when the session ends
Application["UserCount"] = Convert.ToInt32(Application["UserCount"].ToString()) - 1;
}
將此代碼添加到您的母版頁上
private void Page_Load(System.Object sender, System.EventArgs e)
{
//Put user code to initialize the page here
this.lblUserCount.Text = "Users online " + Application["UserCount"].ToString();
}
要么
如果您使用內置的ASP.NET
成員資格提供程序,則將有一個非常方便的Membership.GetNumberOfUsersOnline()方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.