다음 코드를 호출합니다.클리어 쿠키가 작동하지 않습니까? 만료 날짜 설정 방법
protected void SetCookieValue(
string sCookieName, object oValue, DateTime dtExpires)
{
Response.Cookies[sCookieName].Value = Utility.ToStringValue(oValue);
Response.Cookies[sCookieName].Expires = dtExpires;
Response.Cookies.Add(Response.Cookies[sCookieName]);
}
날짜를 30 일로 설정하십시오.
SetCookieValue(sCookieName, null, DateTime.Now.AddDays(-30.0));
쿠키가 만료되도록하려면. 그것은 내 dev에 상자 (윈도우 7, IIS7)에서 일하고있어,하지만 IIS6에서 지금 실패. 이 코드를 변경하지 않았지만 현재 1 년 넘게 작동하는 것으로 보였지만 제작 사이트에서는이 쿠키를 지울 수 없습니다.
compat 모드에서 IE8의 브라우저 (dev 및 생산 타격 용)
모든 아이디어?
올바른 방향으로 움직여 주셔서 감사 드리며 다음과 같이 마무리되었습니다 :
protected void SetCookieValue(
string cookieName, object value, DateTime expireDate)
{
HttpCookie cookie = new HttpCookie(cookieName);
cookie.Value = Utility.ToStringValue(value);
cookie.Expires = expireDate;
if (Request.Cookies[cookieName] != null)
{
Response.SetCookie(cookie);
}
else
{
Response.Cookies.Add(cookie);
}
}
그래서 쿠키를 죽일 때이 메서드는 이름, null 값 및 DateTime.MinValue 만료 날짜를 사용하여 호출합니다. 쿠키가 있으면 업데이트되고 그렇지 않으면 만료 날짜가 추가됩니다.
같은 기능을 사용하여 쿠키를 만들거나 죽이기 때문에 자체 DeleteCookie 메서드를 사용하지 않으려 고했습니다. 쿠키를 완전히 새로 바꿔 이름을 바꿨습니다. 약간의 사용자 푸시 백이 발생할 수 있습니다. 하지만 아! :)
고마워! 대답은 올바른 방향으로 나를 설득 한 사람으로 표시됩니다.
내가의 두 부분을 생각하지 마십시오/다른 기능적으로 달라진 경우. 둘 다 응답을 통해 쿠키를 브라우저로 다시 보냅니다. – dustyburwell