建立個Global.asax(全域應用程式類)
C# code
<script runat="server">
void Application_Start(object sender, EventArgs e)
{
// 在應用程式啟動時啟動並執行
System.Data.SqlClient.SqlConnection con = DBConnect.createConnection();
con.Open();
System.Data.SqlClient.SqlCommand com = new System.Data.SqlClient.SqlCommand(
"select * from total", con);
int count =System.Convert.ToInt32(com.ExecuteScalar());
con.Close();
Application["total"] = count;
Application["online"] = 0;
}
void Application_End(object sender, EventArgs e)
{
// 在應用程式關閉時啟動並執行代碼
System.Data.SqlClient.SqlConnection con = DBConnect.createConnection();
con.Open();
System.Data.SqlClient.SqlCommand com = new System.Data.SqlClient.SqlCommand(
"update total set num="+Application["total"].ToString(), con);
com.ExecuteNonQuery();
con.Close();
}
void Application_Error(object sender, EventArgs e)
{
// 在出現未處理的錯誤時啟動並執行代碼
}
void Session_Start(object sender, EventArgs e)
{
// 在新會話啟動時啟動並執行代碼
Session.Timeout = 1;
Application.Lock();
Application["total"] = System.Convert.ToInt32(Application["total"]) + 1;
Application["online"] = System.Convert.ToInt32(Application["online"]) + 1;
Application.UnLock();
}
void Session_End(object sender, EventArgs e)
{
// 在會話結束時啟動並執行代碼。
// 注意: 只有在 Web.config 檔案中的 sessionstate 模式設定為
// InProc 時,才會引發 Session_End 事件。如果會話模式設定為 StateServer
// 或 SQLServer,則不會引發該事件。
Application.Lock();
Application["online"] = System.Convert.ToInt32(Application["online"]) - 1;
Application.UnLock();
}
</script>
讀取:
labTotal.Text = Application["total"].ToString();