1
代码(在Global.asax中):会话超时 - 如何正确记住我?
void Session_Start(object sender, EventArgs e)
{
// remember me
HttpCookie rememberCookie = HttpContext.Current.Request.Cookies["remember"];
if (rememberCookie != null)
{
if (rememberCookie.Value == "true")
HttpContext.Current.Session.Timeout = 464800;
else
HttpContext.Current.Session.Timeout = 70;
}
else
HttpContext.Current.Session.Timeout = 60;
}
基本上,我想使 “记住我” 使用会话和饼干。 这是代码时,当第一次发射在home.aspx.cs
public void _loginFrmSubmit(object sender, EventArgs e)
{
Session["User"] = home_username.Text;
HttpCookie rememberCookie;
//rememberCookie.HttpOnly = true;
if (remember.Checked)
{
rememberCookie = new HttpCookie("remember", "true");
rememberCookie.Expires = DateTime.Now.AddMonths(12);
}
else
{
rememberCookie = new HttpCookie("remember", "false");
rememberCookie.Expires = DateTime.Now.AddDays(1);
}
HttpContext.Current.Response.Cookies.Add(rememberCookie);
Response.Redirect(Request.RawUrl);
}
代码工作正常登录。但是我注销后:
public void _Quit(object sender, EventArgs e)
{
HttpCookie rememberCookie = new HttpCookie("remember");
rememberCookie.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(rememberCookie);
Session.Clear();
Response.Redirect(Request.RawUrl);
}
而且我再次登录。 session.timeout没有改变。它遇到第一个超时设置。请帮助我每次注销并登录时,会话超时更改。
https://stackoverflow.com/questions/3140341/how-to-create-persistent-cookies-in-asp-net这是一个重复的问题 –
亚伦。 S,你只给我发个问题。我的问题是关于会议。 – David
和那个cookie存储在哪里?在会话中,对吗? –