~/App_Data/Visitors.xml 文件 <? xml version="1.0" encoding="gb2312" ?> < 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 >