1. 程式人生 > >asp.net 記錄使用者開啟和關閉頁面的時間

asp.net 記錄使用者開啟和關閉頁面的時間

記錄開啟頁面時間:

在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
}

此方法在關閉頁面和關閉瀏覽器時都會觸發。

相關推薦

asp.net 記錄使用者開啟關閉頁面時間

記錄開啟頁面時間: 在Page_Load事件裡記錄一下。 protected void Page_Load(object sender, EventArgs e){     if (!Page.IsPostBack)     {           //記錄使用者開啟頁面時

ASP.NET Core 的WindowsIIS宿主(自動翻譯記錄)

href imei when webserver cif outside 連接 cor ole https://docs.microsoft.com/en-us/aspnet/core/publishing/iis?tabs=aspnetcore2x 支持的操作系統 以下操

[zz]myeclipse開啟關閉html,jsp等頁面的視覺化編輯器

用myeclipse開啟html,jsp等頁面時,有的是預設用視覺化編輯器開啟的,這樣開啟會顯得很慢,只要關閉視覺化編輯器就會快很多了,方法如下: 選擇選單: windows -> preferences 在彈出視窗中選擇General-> E

ASP.NET自定義404500錯誤頁面

ofo 完成後 模板 bit replace erro 原創 錯誤跳轉 技術站點 在ASP.NET網站項目實際上線運行的過程中,有時候在運行環境下會出現400錯誤或者500錯誤,這些錯誤默認的頁面都不友好,比較簡單單調,其實我們可以自行設置這些錯誤所對應的頁面,讓這些錯誤跳

win10電腦突然開不了熱點,怎麽辦,怎樣開啟關閉此操作??

開啟 右擊 禁用 設備管理 選擇 src blog log 設備 (1)右擊‘我的電腦’,選擇‘管理’ 會出現下面這個界面 (2)選擇‘設備管理器’,再右擊‘網絡適配器’裏面的第二條,具體如下圖示 (3)選擇‘屬性’,進入‘高級’選項有下圖所示界面 (4)再將鼠

Asp.Net Core MVC控制器視圖之間傳值

view 指定 mode 設置 http adg nbsp urn 傳值方式 一、Core MVC中控制器和視圖之間傳值方式和Asp.Net中非常類似 1.弱類型數據:ViewData,ViewBag 2.強類型數據:@model 二、代碼 實例 1.ViewData

ASP.NET MVC Bundles 用法說明(打包javascriptcss)

http debug模式 尋找 所有 ida jquery-ui content end eas 本文主要介紹了ASP.NET MVC中的新功能Bundles,利用Bundles可以將javascript和css文件打包壓縮,並且可以區分調試和非調試,在調試時不進行壓縮,以

ASP.NET全局編碼語言

可控 resp odi config文件 conf asp utf ons 標識 // /*--------------- // // 使用地方:ASP.NET 項目 // // // // 文件名: // // 文件功能描述:可控制整個項目的一個統一編碼格式和語言

[ASP.NET]static變量viewstate的使用方法

工作 hash 報錯 兩個人 對待 處理 onclick bsp 機制 在.Net平臺下進行CS軟件開發時,我們經常遇到以後還要用到某些變量上次修改後的值,為了簡單起見,很多人都習慣用static來定義這些變量,我也是。這樣非常方便,下一次調用某個函數時該變量仍然保存的是處

exchange 2016開啟關閉發件人ID篩選(SPF檢查)功能

功能 fig 關閉 them exc 禁用 bsp static false 1、啟用發件人篩選:Set-SenderFilterConfig -Enabled $true2、禁用發件人篩選:Set-SenderFilterConfig -Enabled $false3、驗

Oracle歸檔的開啟關閉

Oracle archivelog --1、開啟歸檔【步驟】a.一致性關閉數據庫(shutdown [immediate | transactional |normal])b.啟動到mount階段(startup mount)c.切換到歸檔模式(alter database archivelog[ma

asp.net core中IHttpContextAccessorHttpContextAccessor的妙用

class sys image 只需要 iap href build .com bubuko 分享一篇文章,關於asp.net core中httpcontext的拓展。 現在,試圖圍繞HttpContext.Current構建你的代碼真的不是一個好主意,但是我想如果你

微軟與開源幹貨對比篇_PHP ASP.NET在 Session實現管理機制上差異

ima 影響 前言 很難 刪除 定性 缺點 重新編譯 state 微軟與開源幹貨對比篇_PHP和 ASP.NET在 Session實現和管理機制上差異 前言:由於開發人員要靠工具吃飯,可能和開發工具、語言、環境呆的時間比和老婆孩子親人在一起的時間還多,所以每個人或多或少對自

ASP.NET MVC Core 介紹項目解讀

.get directory art DDM 圖片 驗證 mes hsts new ASP.NET MVC Core 項目文件夾解讀 一、項目文件夾總覽 1.1、Properties——launchSettings.json   啟動配置文件,你可以在項目中“Proper

ASP.NET記錄錯誤日誌

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.IO; using System.Text; using Newtonsoft.Json.Linq;

php.ini中開啟關閉 session auto_start 的區別

日常開發中,php.ini配置session.auto_start=0預設關閉會話時如果想開啟會話需要呼叫session_start:   session.auto_start 開啟就自動完成了session_start() 區別就在於在用SESSION前是否需要ses

Asp.Net母版頁內容頁執行機制

Asp.Net母版頁和內容頁執行機制來自森大科技官方部落格 http://www.cnsendblog.com/index.php/?p=96從上面的講解中可以看出,單獨的母版頁是不能被使用者所訪問的。沒有內容頁支援,母版頁僅僅是一個頁面模板,沒有更多的實用價值。同樣道理,單獨的內容頁沒有母版頁的支援,也不能

Asp.Net母版頁內容頁運行機制

價值 php 引用 沒有 整合 log 對象 文字 運行機制 Asp.Net母版頁和內容頁運行機制 來自森大科技官方博客 http://www.cnsendblog.com/index.php/?p=96 從上面的講解中可以看出,單獨的母版頁是不能被用戶所訪問的。沒有內容

ASP.NET 系統檔案操作XML配置讀寫

這裡將工作中用到的兩個工具分享一下:(1)、系統檔案操作工具(2)、XML讀寫配置檔案工具。 目錄 檔案操作工具 XML配置檔案讀寫 XML配置檔案讀取示例 檔案操作工具 using System; using System.Collections.Generic;

centos圖形介面的開啟關閉 centos圖形介面的開啟關閉

centos圖形介面的開啟和關閉   一般來說centos主要用於伺服器端,所以很少開啟圖形化介面,但是有時候為了工作方便也會偶爾開啟圖形介面,下面就讓簡單談談如何開啟圖形化介面, 當然簡化安裝是沒有這個程式的需要自行安裝,可以yum安裝下 CentOS