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就会自动过期了。