2011-12-22 2 views
0

쿠키를 설정하기 위해 페이지의 백 엔드에있는 속성을 사용하려고합니다. 이상한 결과가 나타납니다. 내가하는 일이 확실하지 않습니다. 쿠키를 사용하는 올바른 방법입니다.ASP.Net (C#)에서 속성으로 쿠키를 사용하는 방법

어쨌든이 코드를 처리하는 방법에 대한 아이디어가 있거나 이미 완료된 예제가 있으면 응답에 대해 감사하게 생각합니다. 감사합니다.

+0

어떤 종류의 "이상한 결과"입니까? – scottm

답변

1

가 파악하고 처음받은 속성을 가져올 때 너무 너무, 같은 이름의 새 쿠키를 추가합니다

아마 시도 이전 값이었던 쿠키의 버전.

어쨌든 해결책은 다음과 같습니다.

int CurrentID 
    { 
     get 
     { 
      if (Request.Cookies["CurrentID"] != null) 
      { 
       return Request.Cookies["CurrentID"].Value.AsID(); 
      } 
      else 
      { 
       Response.Cookies.Add(new HttpCookie("CurrentID", "0")); 
       return 0; 
      } 
     } 
     set 
     { 
      if (Response.Cookies["CurrentID"] != null) 
      { 
       Response.Cookies.Remove("CurrentID"); 
       Request.Cookies.Remove("CurrentID"); 
      } 
      Response.Cookies.Add(new HttpCookie("CurrentID", value.ToString())); 
     } 
    } 
1

getter에서 요청에 쿠키를 반환하지만 요청이 존재하지 않는 경우 요청에 설정하지 않습니다. Reequest에서 제거되지 않습니다 그것을 Responce 쿠키를 추가 한 후 제거 할 때

if (Request.Cookies["CurrentID"] == null) 
{ 
    Response.Cookies.Add(new HttpCookie("CurrentID", "0")); 
    return 0; 
} 
return Request.Cookies["CurrentID"].Value.AsID(); 
+0

충고에 대한 환호 나는 당신이 언급 한 것을 생각해 봤으며 Request.Cookies에서 속성이 설정 될 때마다 새로운 쿠키가 추가되어 동일한 이름의 많은 쿠키를 포함한다는 사실을 깨달았습니다. 이로 인해 혼동이 발생하고 종료되었습니다. 이상한 결과가 나타납니다. 어쨌든 지금 대답을 얻었습니다. 당신의 도움을 주셔서 감사합니다 – Kieran

관련 문제