~/App_Data/Visitors.xml 文件
<?
xml version="1.0" encoding="gb2312"
?>
< Count >
< TotalVisitors > 0 </ TotalVisitors >
</ Count >
< Count >
< TotalVisitors > 0 </ TotalVisitors >
</ Count >
Global.asax 文件
<%
@ Application Language
=
"
C#
"
%>
<% @ Import Namespace = " System.Xml " %>
< script runat = " server " >
/**/ /// <summary>
/// Application["Visitors"] 当前在线人数
/// Session["TotalVisitors"] 站点访问总量
/// </summary>
void Application_Start( object sender, EventArgs e)
... {
// 在应用程序启动时运行的代码
Application["Visitors"] = 0; //在线访客人数统计
}
void Application_End( object sender, EventArgs e)
... {
// 在应用程序关闭时运行的代码
}
void Application_Error( object sender, EventArgs e)
... {
// 在出现未处理的错误时运行的代码
}
void Session_Start( object sender, EventArgs e)
... {
// 在新会话启动时运行的代码
Application.Lock();
if (this.Session.IsNewSession == true)
...{
Application["Visitors"] = (int)Application["Visitors"] + 1; //增加在线人数
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(Server.MapPath("~/App_Data/Visitors.xml"));
XmlNode VisitorsNode = xmldoc.DocumentElement.ChildNodes[0].ChildNodes[0];
Session["TotalVisitors"] = Convert.ToInt32(VisitorsNode.Value) + 1; //站点访问总数
VisitorsNode.InnerText = this.Session["TotalVisitors"].ToString();
xmldoc.Save(Server.MapPath("~/App_Data/Visitors.xml"));
}
Application.UnLock();
}
void Session_End( object sender, EventArgs e)
... {
// 在会话结束时运行的代码。
// 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
// InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer
// 或 SQLServer,则不会引发该事件。
Application.Lock();
Application["Visitors"] = (int)Application["Visitors"] - 1;
Application.UnLock();
}
</ script >
<% @ Import Namespace = " System.Xml " %>
< script runat = " server " >
/**/ /// <summary>
/// Application["Visitors"] 当前在线人数
/// Session["TotalVisitors"] 站点访问总量
/// </summary>
void Application_Start( object sender, EventArgs e)
... {
// 在应用程序启动时运行的代码
Application["Visitors"] = 0; //在线访客人数统计
}
void Application_End( object sender, EventArgs e)
... {
// 在应用程序关闭时运行的代码
}
void Application_Error( object sender, EventArgs e)
... {
// 在出现未处理的错误时运行的代码
}
void Session_Start( object sender, EventArgs e)
... {
// 在新会话启动时运行的代码
Application.Lock();
if (this.Session.IsNewSession == true)
...{
Application["Visitors"] = (int)Application["Visitors"] + 1; //增加在线人数
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(Server.MapPath("~/App_Data/Visitors.xml"));
XmlNode VisitorsNode = xmldoc.DocumentElement.ChildNodes[0].ChildNodes[0];
Session["TotalVisitors"] = Convert.ToInt32(VisitorsNode.Value) + 1; //站点访问总数
VisitorsNode.InnerText = this.Session["TotalVisitors"].ToString();
xmldoc.Save(Server.MapPath("~/App_Data/Visitors.xml"));
}
Application.UnLock();
}
void Session_End( object sender, EventArgs e)
... {
// 在会话结束时运行的代码。
// 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
// InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer
// 或 SQLServer,则不会引发该事件。
Application.Lock();
Application["Visitors"] = (int)Application["Visitors"] - 1;
Application.UnLock();
}
</ script >