教你如何实现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
    
     
	
	
    
    
	相关文档:
        
    
    Global.asax 文件,有时候叫做 ASP.NET 应用程序文件,提供了一种在一个中心位置响应应用程序级或模块级事件的方法。你可以使用这个文件实现应用程序安全性以及其它一些任务。下面让我们详细看一下如何在应用程序开发工作中使用这个文件。 
概述
Global.asax 位于应用程序根目录下。虽然 Visual Studio .NET 会自动插入这 ......
	
    
        
    
    ASP.NET生成随机密码
在开发需要用户注册后才能使用提供的各项功能的应用程序时,在新用户提交注册信息后,较常见的做法是由程序生成随机密码,然后发送密码到用户注册时填写的电子信箱,用户再用收到的密码来激活其帐户。
实现ASP.NET生成随机密码功能是很容易的,下面的代码给出了完整的实现方法:
public static stri ......
	
    
        
    
     在web开发时,有的系统要求同一个用户在同一时间只能登录一次,也就是如果一个用户已经登录了,在退出之前如果再次登录的话需要报错。 
  常见的处理方法是,在用户登录时,判断此用户是否已经在Application中存在,如果存在就报错,不存在的话就加到Application中(Application是所有Session共有的,整个web应用程 ......
	
    
        
    
    一、asp.net DataGridView导出到Excel的三个方法
#region DataGridView数据显示到Excel
/// <summary>
/// 打开Excel并将DataGridView控件中数据导出到Excel
/// </summary>
/// <param name="dgv">DataGridView对象 </param>
/// <param name="isShowExcle">是否 ......