教你如何实现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
相关文档:
1. 简述 private、 protected、 public、 internal 修饰符的访问权限。
答 . private : 私有成员, 在类的内部才可以访问。
protected : 保护成员,该类内部和继承类中可以访问。
public : 公共成员,完全公开,没有访问限制。
internal: 在同一命名空间内可以访问。
2 .列举ASP.NET 页面之间传递值的几种方式 ......
Global.asax 文件,有时候叫做 ASP.NET 应用程序文件,提供了一种在一个中心位置响应应用程序级或模块级事件的方法。你可以使用这个文件实现应用程序安全性以及其它一些任务。下面让我们详细看一下如何在应用程序开发工作中使用这个文件。
概述
Global.asax 位于应用程序根目录下。虽然 Visual Studio .NET 会自动插入这 ......
六、如何:以编程方式获取和设置 CheckBox Web 服务器控件值
可以用编程方式读取或设置 CheckBox Web 服务器控件的值。
说明: 如果您使用的是 CheckBoxList 控件,则获取和设置复选框值的过程会有所不同。
获取或设置 CheckBox 控件的 Checked 属性。如 ......
DropDownList Web 服务器控件使用户可以从预定义的下拉列表中选择单个项。
一、功能
可以使用 DropDownList 控件执行下列操作:
·设置控件的大小(以像素为单位)。
·使用数据绑定来指定要显示的项列表。
·确定选定的项。
·以编程方式指定选定的项。
& ......
1. 数据库访问性能优化
1.1数据库的 连接和关闭
访问数据库资源需要创建连接、打开连接和关闭连接几个操作。这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源。ASP.NET中提供了连接池(Connection Pool)改善打开和关闭数据库对性 ......