如何实现ASP.NET中网站访问量的统计
如何实现ASP.NET中网站访问量的统计
本文介绍了如何在asp.net中进行网站访问量的统计。
下面介绍如何进行ASP.NET中网站访问量的统计。
一、建立一个数据表IPStat用于存放用户信息
我在IPStat表中存放的用户信息只包括登录用户的IP(IP_Address),IP来源(IP_Src)和登录时间(IP_DateTime),些表的信息本人只保存一天的信息,如果要统计每个月的信息则要保存一个月。因为我不太懂对数据日志的操作,所以创建此表,所以说我笨吧,哈哈。
二、在Global.asax中获取用户信息
在Global.asax的Session_Start即新会话启用时获取有关的信息,同时在这里实现在线人数、访问总人数的增量统计,代码如下:
- void Session_Start(object sender, EventArgs e)
- {
- //获取访问者的IP
- string ipAddress = Request.ServerVariables["REMOTE_ADDR"];
- //获取访问者的来源
- string ipSrc;
- //判断是否从搜索引擎导航过来的
- if (Request.UrlReferrer == null)
- {
- ipSrc = "";
- }
- else
- {
- //获取来源地址
- ipSrc = Request.UrlReferrer.ToString();
- }
- //获取访问时间
- DateTime ipDatetime = DateTime.Now;
- //保存IP信息到数据库中
- IPControl cont = new IPControl();
- cont.AddIP(ipAddress, ipSrc, ipDatetime);
- //获取用户访问的页面
- string pageurl = Request.Url.ToString();
- //判断访问的是否是默认页
- if (pageurl.EndsWith("IPStat.ASPx"))
- {
- //锁定变量
- Application.Lock();
- //为页面访问量+1
- Application["StatCount"] = int.Parse(Application["StatCount"].ToString()) + 1;
- //解锁
- Application.UnLock();
- }
- //锁定变量
- Session.Timeout = 10; //设定超时为10分钟
- Application.Lock();
- Application["countSession"] = Convert.ToInt32(Application["countSession"]) + 1;//访问总人数+1
- Application["onlineWhx"] = (int)Application["onlineWhx"] + 1; //在线人数加+1
- Session["login_name"] = null;
- //解锁
- Application.UnLock();
- }
提醒一句,别忘了下面的代码,以实现在用户离线时,将在线人数减去1.
- void Session_End(object sender, EventArgs e)
- {
- // 在会话结束时运行的代码。
- // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为 InProc 时,才会引发 Session_End 事件。
- 如果会话模式设置为 StateServer
- // 或 SQLServer,则不会引发该事件。
- //锁定变量
- Application.Lock();
- Application["onlineWhx"] = (int)Application["onlineWhx"] - 1; //在线人数减-1
- Session["login_name"] = null;
- //解锁
- Application.UnLock();
- }
三、将以上有关信息保存到数据库IPStat
ASP.NET中网站访问量统计的最后一个实现步骤,就是创建了一个获取IP数据信息的类IPControl(),用来实现对数据库IPStat数据的操作,关于IPControl()类的内容,因为它是C#中对数据库的操作,以解sql server 数据库,就能看懂它,这里就不作介绍了,请点击该链接查看。
为了实现将用户IP信息存入数据库,在上面代码中对IPControl()进行调用
- //保存IP信息到数据库中
- IPControl cont = new IPControl();
- cont.AddIP(ipAddress, ipSrc, ipDatetime);
参数ipAddress为用户IP,ipSrc为用户来源, ipDatetime为用户进入时间。
以上就实现了ASP.NET中网站访问量的统计。
如何实现ASP.NET中网站访问量的统计的更多相关文章
- ASP.net中网站访问量统计方法代码(在线人数,本月访问,本日访问,访问流量,累计访问)
一.建立一个数据表IPStat用于存放用户信息 我在IPStat表中存放的用户信息只包括登录用户的IP(IP_Address),IP来源(IP_Src)和登录时间 (IP_DateTime),些表的信 ...
- ASP.net中网站访问量统计方法
仅共学习 一.建立一个数据表IPStat用于存放用户信息 我在IPStat表中存放的用户信息只包括登录用户的IP(IP_Address),IP来源(IP_Src)和登录时间 (IP_DateTime) ...
- 关于linux asp.net MVC网站中 httpHandlers配置无效的处理方法
近期有Jexus用户反映,在Linux ASP.NET MVC网站的Web.config中添加 httpHandlers 配置用于处理自定义类型,但是在运行中并没有产生预期的效果,服务器返回了404( ...
- ASP.NET Core 网站在Docker中运行
Docker作为新一代的虚拟化方式,未来肯定会得到广泛的应用,传统虚拟机的部署方式要保证开发环境.测试环境.UAT环境.生产环境的依赖一致性,需要大量的运维人力,使用Docker我们可以实现一次部署, ...
- 【转载】ASP.NET中Server.MapPath方法获取网站根目录总结
在ASP.NET网站应用程序中,可以通过Server.MapPath方法来获取跟服务器有关的目录信息,如获取网站的根目录.获取当前代码文件所在的目录路径.获取当前代码所在路径的上级路径等.Server ...
- 如何在 ASP.NET 应用程序中实现模拟用户身份(在ASP.NET中以管理员身份运行网站)
前言 在实际的项目开发中,我们可能会需要调用一些非托管程序,而有些非托管程序需要有更高的身份权限才能正确执行.本文介绍了如何让IIS承载的ASP.NET网站以特定的账户执行,比如Administrat ...
- ASP.NET Web网站中App_Code文件夹的作用及使用场景
原文地址:Web Site项目和ASP.NET Web Application中App_Code文件夹的作用作者:宾的宾 我现在要建一个ASP.NET的网站了,不难吧,开始动手.如下图: 这种方法建立 ...
- 以下是关于ASP.NET中保存各种信息的对象的比较,理解这些对象的原理,对制作完善的程序来说是相当有必要的(摘至互联网,并非原创--xukunping)
在ASP.NET中,有很多种保存信息的对象.例如:APPlication,Session,Cookie,ViewState和Cache等,那么它们有什么区别呢?每一种对象应用的环境是什么? 为了 ...
- 秒懂ASP.NET中的内置对象
上篇博客,小编主要简单的介绍了一下ASP.NET中的控件,这篇博客,小编主要简单总结一下ASP.NET中的内置对象,七个内置对象分别是:Request.Response.Application.Coo ...
随机推荐
- iOS - UILabel
前言 NS_CLASS_AVAILABLE_IOS(2_0) @interface UILabel : UIView <NSCoding> @available(iOS 2.0, *) p ...
- Android ViewFlipper控件实例
使用ViewFlipper实现两张图片切换效果,废话不多说,直接上代码. java源码: package com.example.viewflipper; import android.os.Bund ...
- python中self,cls
cls主要用在类方法定义,而self则是实例方法. self, cls 不是关键字,完全可以使用自己写的任意变量代替实现一样的效果. 普通的实例方法,第一个参数需要是self,它表示一个具体的实例本身 ...
- 统一事件源epoll代码示例
可以将信号注册进pipe管道的写端,通过对读端的监听,来实现统一事件源. #include <sys/types.h> #include <sys/socket.h> #inc ...
- Hostapd
Hostapd 一.基本概念 hostapd is an application used to setup your wireless interface as an access-point (m ...
- hdu 4870 Rating
题目链接:hdu 4870 这题应该算是概率 dp 吧,刚开始看了好几个博客都一头雾水,总有些细节理不清楚,后来看了 hdu 4870 Rating (概率dp) 这篇博客终于有如醍醐灌顶,就好像是第 ...
- 【ufldl tutorial】Softmax Regression
今天太长姿势了,什么叫懂了也写不出代码说的不就是我吗,就那么几行代码居然叽叽歪歪写了一个小时. 首先exercise要实现的是softmax的cost function和gradient,如下图: ( ...
- D3.js 让图表动起来
D3 支持制作动态的图表.有时候,图表的变化需要缓慢的发生,以便于让用户看清楚变化的过程,也能给用户不小的友好感. 一.什么是动态效果 绘制完成后不再发生变化的,这是静态的图表. 动态的图表,是指图表 ...
- Hbase之Exception
[hadoop@master hbase-1.2.2]$ ./bin/hbase shell2016-08-25 13:53:56,898 WARN [main] util.NativeCodeLoa ...
- K-均值聚类及其在生物信息中的应用
如果一点基础没有最好先拿起一本教材开始学,<机器学习实战>还不错,P93,书上有python源码和练习数据,非常适合新手. k均值聚类 名词:簇:相似度算法 伪代码 创建K个点作为起始质心 ...
