访问计数器主要是用来记录应用程序曾经被访问次数的组件。用户可以通过Application对象和Session对象实现这一功能。下面就通过一个示例介绍一下。
下面示例主要Global.asax文件中对访问人数进行统计,并在Default.aspx文件中将统计结果显示出来。执行程序,示例运行结果如图1所示。

图1 访问计数器
程序实现的主要步骤:
(1)新建一个网站,添加一个全局应用程序类(即Global.asax文件)。在该文件的Application_Start事件中将在访问数初始化为0,代码如下:
void
Application_Start(object sender, EventArgs e)
{
// 在应用程序启动时运行的代码
Application["count"] = 0;
}
当有新的用户访问网站时,将建立一个新的Session对象,并在Session对象的Session_Start事件中对Application对象加锁,以防止因为多个用户同时访问页面造成并行,同时将访问人数加1;当用户退出该网站时,将关闭该用户的Session对象,同理对Application对象加锁,然后将访问人数减1。代码如下:
void Session_Start(object
sender, EventArgs e)
{
// 在新会话启动时运行的代码
Application.Lock();
Application["count"] = (int)Application["count"] +
1;
Application.UnLock();
}
void Session_End(object
sender, EventArgs e)
{
// 在会话结束时运行的代码。
// 注意: 只有在 Web.config 文件中的
sessionstate 模式设置为
// InProc 时,才会引发 Session_End 事件。如果会话模式设置为
StateServer
// 或 SQLServer,则不会引发该事件。
Application.Lock();
Application["count"]
= (int)Application["count"] - 1;
Application.UnLock();
}
(2)对Global.asax文件进行设置后,需要将访问人数在网站的默认主页Default.aspx中显示出来。在Default.aspx页面上添加了一个Label控件,用于显示访问人数。代码如下:
protected void
Page_Load(object sender, EventArgs e)
{
Label1.Text = "您是该网站的第" + Application["count"].ToString()
+ "个访问者";
}