日期:2014-05-17  浏览次数:20729 次

session保存的信息过一段时间久丢失
为啥我这个系统,我过了20分钟左右,不点击的这个页面,我保存的用户名和其他信息就会丢失,这怎么办啊。

登录页面后台代码如下:

  //登录事件
  protected void Btn_OK_Click(object sender, EventArgs e)
  {
  if (this.IsValid)
  {
  string name = this.txtName.Text.ToString();
  string pwd=this.txtPassword.Text.ToString();
  string Pwd=Commons.DbTools.Md5(pwd);

  string sql = "select * from users where UserName='" + name + "' and Password='" + Pwd + "'";
  Common common = new Common();
  DataSet ds = common.GetDataSet(sql);

  if (ds.Tables[0].Rows.Count > 0)
  {
  //string username = GetUserMessage(number, Pwd);
  //保存用户名
  Session["username"] = name;

  this.Response.Redirect("~/Main.aspx?" + this.txtName.Text + "");
  }
  else
  {
  //DbTools.MsgBox("对不起,您的用户名或密码不正确,请核对!");
  DbTools.Alert("对不起,您的用户名或密码不正确,请核对!",this.Page);
  }
   
  }
  }



------解决方案--------------------
web.config中进行如下配置
<system.web>
<sessionState mode="InProc" timeout="30"/>
</system.web>

在这里指的是Session过期时间为30分钟。也就是说30分钟后如果当前用户没有操作,那么Session就会自动过期了。