簡體   English   中英

在asp.net Web應用程序中查找有多少用戶在線

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM