赢得';t删除
本文关键字:删除 赢得 | 更新日期: 2023-09-27 18:23:47
我感觉自己被饼干怪物吃掉了。我删除了cookie,它们马上就会回来。注销时,我执行以下代码:
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 Cookies是否处于响应状态。
在GoToPublicHome调用后立即执行的Global.asax-->Session_Start代码中,它们已经回来了。。。就像一个坏便士。
您编写的代码指示.Net创建一个新的HttpCookie,而不是创建"仅当不存在时"。MSDN页面上有一个示例:http://msdn.microsoft.com/en-us/library/system.web.httpcookie.aspx
Response.Cookies.Remove(name)
怎么样?