【发布时间】:2012-02-09 01:54:37
【问题描述】:
我感觉自己被饼干怪兽吃掉了。我删除了cookies,它们又回来了。 注销时,我执行以下代码:
protected void Page_Load(object sender, EventArgs e)
{
DeleteCookie("UserId");
DeleteCookie("UserName");
Session.Abandon();
GoToPublicHomePage();
}
private void DeleteCookie(string name)
{
if (Request.Cookies[name] != null)
{
HttpCookie cookie = new HttpCookie(name);
cookie.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(cookie);
}
}
就在“GoToPublicHome()”调用之前,我检查了 Request.Cookies 并且 UserId 和 UserName cookie 在响应中。
在我的 Global.asax --> 调用 GoToPublicHome 后立即执行的 Session_Start 代码中,它们又回来了......就像一分钱一样。
【问题讨论】:
-
看来你有2个问题:为什么它会创建一个新的Cookie?为什么没有设置有效期?这是正确的吗。你能提供一个更详细的问题吗?