我需要手动删除身份验证cookie(而不是使用FormsAuthentication.SignOut whcih由于某些原因不起作用)。我试过了
System.Web.HttpContext.Request.Cookies.Remove(cookieName); // for example .ASPXAUTH
System.Web.HttpContext.Response.Cookies.Remove(cookieName); // for example .ASPXAUTH
FormsAuthentication.SignOut(); // I don't know why this one does not work
这些命令都不起作用。事实上,响应cookie是空的,请求cookie包含我想删除的cookie,当执行以下命令它不再包含我删除的cookie但在浏览器中cookie仍然存在,我能够做的事情授权用户甚至可以退出。
答案 0 :(得分:61)
尝试:
if ( Request.Cookies["MyCookie"] != null )
{
var c = new HttpCookie( "MyCookie" );
c.Expires = DateTime.Now.AddDays( -1 );
Response.Cookies.Add( c );
}
有关MSDN的更多信息。
答案 1 :(得分:0)
myLedStripWrapper.setup(LED_STRIP_COUNT, LED_STIP_PIN);
这不会立即清除Cookie。
使用此命令:c.Expires = DateTime.Now.AddDays(-1);
这将立即清除Cookie。