2012-07-24 2 views
1

C# 및 mvc를 사용하고 있습니다. 사용자 브라우저에 쿠키를 쓰려고합니다. 그러나 브라우저가 새로 고쳐지면 쿠키가 사라집니다.새로 고침 후 쿠키가 유지되지 않습니다.

이 쿠키를 작성하기위한 내 코드입니다

: 쿠키를 읽는

movieCookie = new HttpCookie(cookieName); 
movieCookie.Value = "test; 
movieCookie.Expires = DateTime.Now.AddDays(30); 
//add the cookie 
HttpContext.Current.Response.Cookies.Add(movieCookie); 

과 하나 :

//check if such cookie exist 
HttpCookie movieCookie = null; 
if (HttpContext.Current.Request.Cookies.AllKeys.Contains(cookieName)) 
    movieCookie = HttpContext.Current.Request.Cookies[cookieName]; 

추가 할 또 다른 한가지는 그 나는과 같이 "해서 AllKeys"를 검색 할 때 :

HttpContext.Current.Request.Cookies.AllKeys 

어떤 이유에서든 빈 문자열 배열을 표시합니다. 아이디어가 있습니까? 즉시 쿠키가 만료됩니다에서

+0

최근 버전의 IE를 사용하는 경우 F12를 사용하여 서버와 클라이언트간에 전송되는 내용을 확인 했습니까? – HABO

+0

쿠키가 사라져서 쿠키가 브라우저에 이미 표시되어 있습니다. 어떤 맥락에서 쿠키가 만들어 졌는지 말할 수 있습니까? 예를 들어 컨텍스트가 "/"이면 현재 도메인 아래의 모든 페이지에서 읽을 수 있어야합니다. 어쩌면 앱의 기본 컨텍스트가 너무 깊게 설정되어있을 수 있습니다. 그리고 thsi는 다른 페이지가 쿠키를 읽는 것을 금지합니다. –

답변

1

일부 아마도 어리석은 질문

  • 당신의 웹 서버의 시간과 날짜를 확인

    2 년은 (귀하의 경우) 경우가 올바르게 설정되어 있습니다. cookieName이 쿠키가 설정되기 전에 응답에 쿠키를 설정 한 후 사용자가 리디렉션하지 않는 것이 같은

  • 확인입니다

  • 확인합니다. 쿠키를 설정하려면 헤더를 설정하고 푸시해야합니다.

+0

쿠키 만료일을 30 일로 변경하고 쿠키 이름을 확인하면 동일합니다. 세 번째 설명을 이해하지 못했습니다. 쿠키를 설정하여 뷰 (Mvc)로 돌아간 다음 클라이언트에서 컨트롤러로 요청을 다시 보내고 쿠키 기능으로 보내면 ... –

0

나는 그것을 풀었다. MVC에서는 쿠키 생성 후 "반환보기"가 나타나 쿠키가 저장되지 않게됩니다.

관련 문제