在我的网站中,当用户点击“注销”按钮时,Logout.aspx页面就会加载代码Session.Clear()
。
在ASP.NET/C#中,这会清除所有cookie吗?或者是否有任何其他代码需要添加,以删除我网站上的所有cookie?
发布于 2011-07-09 22:39:59
试试这样的东西:
if (Request.Cookies["userId"] != null)
{
Response.Cookies["userId"].Expires = DateTime.Now.AddDays(-1);
}
但是使用它也是有意义的
Session.Abandon();
此外,在许多情况下。
发布于 2014-07-26 01:23:04
这是我使用的:
private void ExpireAllCookies()
{
if (HttpContext.Current != null)
{
int cookieCount = HttpContext.Current.Request.Cookies.Count;
for (var i = 0; i < cookieCount; i++)
{
var cookie = HttpContext.Current.Request.Cookies[i];
if (cookie != null)
{
var expiredCookie = new HttpCookie(cookie.Name) {
Expires = DateTime.Now.AddDays(-1),
Domain = cookie.Domain
};
HttpContext.Current.Response.Cookies.Add(expiredCookie); // overwrite it
}
}
// clear cookies server side
HttpContext.Current.Request.Cookies.Clear();
}
}
发布于 2013-10-15 00:15:01
不幸的是,对我来说,设置"Expires“并不总是有效的。曲奇没有受到影响。
这段代码对我来说是有效的:
HttpContext.Current.Session.Abandon();
HttpContext.Current.Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId", ""));
其中"ASP.NET_SessionId"
是cookie的名称。这并不是真的删除cookie,而是用一个空白cookie覆盖它,这对我来说已经足够近了。
https://stackoverflow.com/questions/6635349
复制相似问题