人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

如何顯示在線人數與所在位置

如何顯示在線人數與所在位置

更新時間:2022-08-05 文章作者:未知 信息來源:網絡 閱讀次數:

一、原理
在.net中的global.asax中有Application_AuthenticateRequest事件和Application_BeginRequest事件是在每次訪問aspx文件都會觸發。但是Application_BeginRequest中不能對已經經過FROMS身份驗證的身份ticket票進行識別。所以只能放到Application_AuthenticateRequest中去。

我的實現原理是:每次訪問aspx文件時候都會判斷在線表里面是否有這個用戶(已經登錄了的記錄用戶名,沒有登錄的記錄IP地址),如果不存在,則將該用戶的身份、最后訪問時間、最后訪問IP、和最后訪問的URL存入數據庫。如果數據庫中已經曾在,則更新該記錄,把最后訪問時間,IP以及最后訪問URL更新。

同時,刪除數據庫中與當前時間間隔20分鐘以上的數據(20分鐘沒操作當為超時)。

二、優點
這樣,你不僅僅可以看到當前在線的準確人數,還知道是那些人在線,以及是否登陸,和訪問人數中已經是會員的比例,以及所在位置,并計算某個頁上的人數。

三、數據庫結構:
主鍵    字段            類型    長度    是否為空說明
1uson_serialint40序號
0uson_uservarchar200用戶名(沒登陸則為IP)
0uson_companyvarchar1000公司名(沒登陸則為'游客')
0uson_ip        varchar200IP地址
0uson_datedatetime80最后操作時間
0uson_urlvarchar1000最后操作頁面路徑

四、程序
注意:
1、程序位于global.asax中
2、我是使用的FORMS身份驗證
3、請using System.Web.Security

protected void Application_AuthenticateRequest(Object sender, EventArgs e)
{
string strUserID = string.Empty;
string strCompany = string.Empty;
if (Request.IsAuthenticated)
{
FormsIdentity identity = (FormsIdentity)User.Identity;
FormsAuthenticationTicket ticket = identity.Ticket;
strUserID = User.Identity.Name;
strCompany = ticket.UserData.Split("|".ToCharArray())[2];
}
else
{
strUserID = Request.UserHostAddress;
strCompany = "游客";
}

MemberOnlineInfo objOnline = new MemberOnlineInfo(strUserID, Request.UserHostAddress, DateTime.Now.ToString(), Request.FilePath, strCompany);

MemberAccount account = new MemberAccount();
if (!account.CheckUserOnline(strUserID))
account.AddOnline(objOnline);
else
account.UpdateOnline(objOnline);

//刪除超時的會員
account.DeleteOnline();
}

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 中卫市| 曲阜市| 石门县| 江津市| 泗阳县| 来凤县| 嘉荫县| 全椒县| 雷波县| 莱州市| 兴业县| 西盟| 合水县| 花莲县| 天镇县| 芜湖县| 大石桥市| 牙克石市| 巴彦淖尔市| 武冈市| 江城| 尉犁县| 焉耆| 泰安市| 文昌市| 松桃| 望城县| 湘阴县| 江城| 景德镇市| 邹城市| 叶城县| 恩施市| 枣阳市| 康保县| 栖霞市| 宕昌县| 砀山县| 凌源市| 恭城| 普陀区|