~/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>