Global.asxa using System; using System.Collections; using System.ComponentModel; using System.Web; using System.Web.SessionState; namespace elcare { /// <summary> /// Global /// </summary> public class Global : System.Web.HttpApplication { /// <summary> /// </summary> private System.ComponentModel.IContainer components = null; public Global() { InitializeComponent(); } protected void Application_Start(Object sender, EventArgs e) { Application["OL_UserCount"]=0; } protected void Session_Start(Object sender, EventArgs e) { Application.Lock(); Application["OL_UserCount"]=(int)Application["OL_UserCount"]+1;//在线用户 Application.Add(Session.SessionID.ToString(),1); Application.UnLock(); } protected void Application_BeginRequest(Object sender, EventArgs e) { } protected void Application_EndRequest(Object sender, EventArgs e) { } protected void Application_AuthenticateRequest(Object sender, EventArgs e) { } protected void Application_Error(Object sender, EventArgs e) { } protected void Session_End(Object sender, EventArgs e) { Application.Lock(); Application.Remove(Session.SessionID.ToString()); Application["OL_UserCount"]=(int)Application["OL_UserCount"]-1; Application.UnLock(); } protected void Application_End(Object sender, EventArgs e) { } #region /// <summary> /// </summary> private void InitializeComponent() { this.components = new System.ComponentModel.Container(); } #endregion } } 登陆验证 public void IdPassInSQL() { string strConn=(String) ((NameValueCollection) Context.GetConfig("system.web/database"))["strConn"]; using (SqlConnection conn = new SqlConnection(strConn)) { SqlCommand cmd = new SqlCommand("sp_IDPWD",conn); cmd.CommandType=CommandType.StoredProcedure; cmd.Parameters.Add("@ID",SqlDbType.VarChar,20); cmd.Parameters.Add("@PWD",SqlDbType.VarChar,20); cmd.Parameters["@ID"].Value=txtName.Text; cmd.Parameters["@PWD"].Value=txtPwd.Text; conn.Open(); using (SqlDataReader dr = cmd.ExecuteReader()) { if(dr.Read()) { bool NotOL=true; for(int i=0;i<Application.Count;i++) { if(Application[Application.GetKey(i).ToString()].ToString()==dr["UserID"].ToString()) NotOL=false; } if(NotOL) { Session["UserName"]=dr["UserName"].ToString(); //Session["UserName"] 用户名字 Session["UserID"]=dr["UserID"].ToString(); //Session["UserID"] 用户ID Application[Session.SessionID.ToString()]=dr["UserID"].ToString();//给Session_Start生成的Application付用户ID Response.Redirect("./main/main.aspx"); } else message.Text="该用户已登陆"; } else { message.Text="密码错误"; } } } } 注销退出 private void btnQuit_Click(object sender, System.EventArgs e) { Session.Abandon();//该语句将调用Global的Session_End事件 Response.Write("<script language=javascript>parent.location='../default.aspx'</script>");// } |