asp.net 记录用户打开和关闭页面的时间

原创 2012年03月29日 10:31:24

记录打开页面时间:

在Page_Load事件里记录一下。

protected void Page_Load(object sender, EventArgs e){

    if (!Page.IsPostBack)
    {

          //记录用户打开页面时间
           Log_User_Time.SetUserTime(Session, Request, Request.Url.PathAndQuery, DateTime.Now, true);

    }

}

 

记录关闭页面的时间:

通过触发页面的onbeforeunload 事件,JS异步提到处理程序,记录时间。

    window.onbeforeunload = LogUserOutTime;
    var requestObj = null;
    function LogUserOutTime() {
        requestObj = getXMLHttpRequest();
        if (!!requestObj) {         
            requestObj.open("GET", "/LogUserOutTime.ashx", true);
            requestObj.onreadystatechange = reqend;
            requestObj.send(null);
        }
    }

    function reqend() {        
    }

    function getXMLHttpRequest() {
        var xmlRequestObj = null;
        try {
            if (window.ActiveXObject) {
                // Internet Explorer
                try {
                    xmlRequestObj = new ActiveXObject("Msxml2.XMLHTTP");
                } catch (e) {
                    try {
                        xmlRequestObj = new ActiveXObject("Microsoft.XMLHTTP");
                    } catch (e) {
                        throw e;
                    }
                }
            } else if (window.XMLHttpRequest) {
                // Firefox, Opera 8.0+, Safari
                xmlRequestObj = new window.XMLHttpRequest();
            }
        } catch (e) {
        }
        return xmlRequestObj;
    }

 

其它的代码:

LogUserOutTime.ashx 如下所示:

<%@ WebHandler Language="C#" Class="LogUserOutTime" %>

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.SessionState;
using nnbh.BaseComm.CommonClass;
using System.Text;

/// <summary>
/// 记录用户操作时间
/// </summary>
public class LogUserOutTime : IHttpHandler, IRequiresSessionState
{
    #region IHttpHandler 成员

    public bool IsReusable
    {
        get { return false; }
    }

    public void ProcessRequest(HttpContext context)
    {
        context.Response.Cache.SetNoStore();  //设置为不缓存     
       
        Log_User_Time.SetUserTime(context.Session, context.Request, context.Request.UrlReferrer.PathAndQuery, DateTime.Now, false);

        context.Response.Clear();
        context.Response.End();
    }

    #endregion
}

 

此方法在关闭页面和关闭浏览器时都会触发。

IE页面关闭时事件 Onunload与Onbeforeunload

Onunload与Onbeforeunload  Onunload,onbeforeunload都是在刷新或关闭时调用,可以在脚本中通过window.onunload来指定或者在里指定。区别在于onb...
  • lpsswan
  • lpsswan
  • 2015年08月10日 10:16
  • 1109

记录用户上次访问时间的代码实现

记录用户上次访问时间的代码实现 Cookie的简单的使用 获得从浏览器带过来的Cookie 通过HttpServletRequest对象中的方法: getCookies(); 获得浏览器带过来...
  • boss_way
  • boss_way
  • 2017年11月21日 12:37
  • 112

js记录用户在网站的浏览记录和停留时间(2)

问题:上次的代码确实解决了一部分用户访问记录的收集,但是还是存在一个问题就是 我们网站的注册 都是新页面打开的,如果用户刚进入网站就点击注册(打开了新的页面) ,我代码里用到的 onbeforeunl...
  • canglingyue
  • canglingyue
  • 2016年09月22日 11:48
  • 2274

ext关闭当前活动页签

因为处不要接触ext,有点迷茫。前面写过一个添加页签的,现在把关闭当前活动页签的功能也写一下。 var parenttab = parent.Ext.getCmp('tabs');   //获得父ta...
  • liuchang__
  • liuchang__
  • 2015年12月07日 12:09
  • 312

Red Hat 开机启动关闭防火墙等

Red Hat 开机启动关闭防火墙等1.shell.sh脚本#!/bin/bash /etc/init.d/iptables stop /etc/init.d/smb restart /etc/ini...
  • qq_31208451
  • qq_31208451
  • 2017年05月10日 11:04
  • 89

oracle 实例与数据库

 1、“实例”(instance)和“数据库”(database)定义。  ORACLE实例 = 进程 + 进程所使用的内存(SGA)实例是一个临时性的东西,你也可以认为它代表了数据库某一时刻的状态。...
  • wengyupeng
  • wengyupeng
  • 2010年03月21日 11:34
  • 944

[Android] 监听系统网络连接打开或者关闭的消息

很简单,所以直接看代码。 package xxx; import android.content.BroadcastReceiver; import android.content.Cont...
  • arui319
  • arui319
  • 2012年11月09日 15:36
  • 6433

Word打开和关闭速度均很慢的解决方法

问:Word打开和关闭速度均很慢的解决方法? 答:进入C:\\Documents and Settings\\Administrator\\Application Data\\Microsoft\\...
  • liuguangsh
  • liuguangsh
  • 2016年05月26日 09:54
  • 388

打开和关闭输入法

procedure CloseEDTIME(edt: TEdit);var  KeyStates: TKeyboardState;begin  GetKeyboardState(KeyStates);...
  • djcsch2001
  • djcsch2001
  • 2010年05月14日 14:21
  • 444

asp.net窗体的打开和关闭

//打开新的窗体Response.Redirect("WebMain.aspx");    //弹出一个新窗体Response.Write("window.open(/"WebMain.aspx/")...
  • piscailei
  • piscailei
  • 2007年05月18日 15:49
  • 304
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:asp.net 记录用户打开和关闭页面的时间
举报原因:
原因补充:

(最多只允许输入30个字)