2014-07-25 3 views
1

asp.net mvc 4 프로젝트에서 내 쿠키를 업데이트하려고 시도하지만 대신 다른 쿠키가 생성됩니다. 예를 들어 이름이 "3 개의 중복 쿠키가 있습니다"페이지 ". 아무도이 문제를 해결하는 방법을 알고 있습니까?C에서 서버 쪽에서 쿠키를 제거하는 방법

if (page != null && Request.Browser.Cookies) { 
       if (Response.Cookies.AllKeys.Contains("page")) { 
        var aCookie = new HttpCookie("page") { Expires = DateTime.Now.AddDays(-1) }; 
        Response.Cookies.Add(aCookie); 
       } 

       var pages = new HttpCookie("page") { Value = page.ToString(), Expires = DateTime.Now.AddDays(7) }; 
       Response.Cookies.Add(pages); 
      } 
+1

만료되기 전에 쿠키 제거 : Response.Cookies.Remove ("page"); –

답변

0

당신이 클라이언트에서 쿠키를 제거하려면 만료로 설정해야합니다 :

if (page != null && Request.Browser.Cookies) { 
    Response.Cookies.Remove("page"); 
    var pages = new HttpCookie("page") { Value = page.ToString(), Expires = DateTime.Now.AddDays(7) }; 
    Response.Cookies.Add(pages); 
} 
1

새 쿠키를 추가하기 전에 쿠키를 삭제 해 보았습니까? (가) 더 페이지 쿠키없는 경우 Response.Cookies.Remove ("페이지") 그래서 그 존재를 테스트, 예외를 발생하지 않습니다

if (page != null && Request.Browser.Cookies) 
{ 
    Response.Cookies.Remove("page"); 
    var pages = new HttpCookie("page") { Value = page.ToString(), Expires = DateTime.Now.AddDays(7) }; 
    Response.Cookies.Add(pages); 
} 

주의가 필요하지 않습니다.

if (page != null && Request.Browser.Cookies) { 
    Response.Cookies.Remove("page"); 
    var aCookie = new HttpCookie("page") { Expires = DateTime.Now.AddDays(-1) }; 
    Response.Cookies.Add(aCookie); 
} 

을하지만 당신은 단지를 업데이트해야하는 경우, 바로 응답에서 제거하고 그것의 새 버전을 추가

관련 문제