Global.asax代码:
<%@ Application Language="C#" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<script runat="server">
void Application_Start(object sender, EventArgs e)
{
// 在应用程序启动时运行的代码
SqlConnection conn = new SqlConnection("server=MICROSOF-ECA11A//SQLEXPRESS;database=countPeople;uid=sc;pwd=root");
conn.Open();
SqlCommand cmd = new SqlCommand("select * from countPeople",conn);
int count =Convert.ToInt32( cmd.ExecuteScalar());
conn.Close();
Application["totel"] = count;
Application["online"] = 0;
}
void Application_End(object sender, EventArgs e)
{
// 在应用程序关闭时运行的代码
SqlConnection conn = new SqlConnection("server=MICROSOF-ECA11A//SQLEXPRESS;database=countPeople;uid=sc;pwd=root");
conn.Open();
SqlCommand cmd = new SqlCommand("update countPeople set CountPeople= "+Application["totel"].ToString(), conn);
cmd.ExecuteNonQuery();
conn.Close();
}
void Application_Error(object sender, EventArgs e)
{
// 在出现未处理的错误时运行的代码
}
void Session_Start(object sender, EventArgs e)
{
// 在新会话启动时运行的代码
Session.Timeout = 1;
Application.Lock();
Application["totel"] = (int)Application["totel"] + 1;
Application["online"] = (int)Application["online"] + 1;
Application.UnLock();
}
void Session_End(object sender, EventArgs e)
{
// 在会话结束时运行的代码。
// 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
// InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer
// 或 SQLServer,则不会引发该事件。
Application.Lock();
Application["online"] = (int)Application["online"] -1;
Application.UnLock();
}
</script>
--------------------------------------
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
this.lblOnLine.Text = Application["online"].ToString();
this.lblTotel.Text = Application["totel"].ToString();
}
}