网站在线访问人数统计并计算停留时间

网站在线人数:

void Application_Start(object sender, EventArgs e)
{
   // 在应用程序启动时运行的代码
   //初始化
   Application["counter"] = 0;
}

void Application_End(object sender, EventArgs e)
{
   // 在应用程序关闭时运行的代码

}

void Application_Error(object sender, EventArgs e)
{
   // 在出现未处理的错误时运行的代码

}

void Session_Start(object sender, EventArgs e)
{
   // 在新会话启动时运行的代码
   //对Application加锁以防并行性
   Application.Lock();
   //增加一个在线人数
   Application["counter"] = (int)Application["counter"] + 1;
   //解锁
   Application.UnLock();
}

void Session_End(object sender, EventArgs e)
{
   // 在会话结束时运行的代码。
   // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
   // InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer
   // 或 SQLServer,则不会引发该事件。

   //对Application加锁以防并行性
   Application.Lock();
   //减少一个在线人数
   Application["counter"] = (int)Application["counter"] - 1;
   //解锁
   Application.UnLock();
}

停留时间:

var second = 0;
var minute = 0;
var hour = 0;
window.setInterval("OnlineStayTimes();", 1000);
function OnlineStayTimes() {
   second++;
   if (second == 60) { second = 0; minute += 1; }
   if (minute == 60) { minute = 0; hour += 1; }
   window.status = "停留时间" + hour + "小时" + minute + "分钟" + second + "秒";
}

原文地址:https://www.cnblogs.com/Yellowshorts/p/2887443.html