programing

ASP MVC 쿠키가 지속되지 않음

bestprogram 2023. 8. 10. 18:58

ASP MVC 쿠키가 지속되지 않음

나는 겉보기에 쿠키를 저장하고 검색하는 간단한 코드를 가진 ASP MVC 앱을 가지고 있지만 어떤 이유에서인지 유지되지 않습니다.컨트롤러의 코드는 다음과 같습니다.

if (System.Web.HttpContext.Current.Response.Cookies["CountryPreference"] == null)
{
    HttpCookie cookie = new HttpCookie("CountryPreference");
    cookie.Value = country;
    cookie.Expires = DateTime.Now.AddYears(1);
    System.Web.HttpContext.Current.Response.Cookies.Add(cookie);
}

다시 로드하는 방법:

if (System.Web.HttpContext.Current.Request.Cookies["CountryPreference"] != null)
{
    System.Web.HttpContext.Current.Request.Cookies["CountryPreference"].Expires = DateTime.Now.AddYears(1);
    data.Country = System.Web.HttpContext.Current.Request.Cookies["CountryPreference"].Value;
}

어떤 이유로 쿠키가 항상 null입니까?

문제는 다음 코드에 있습니다.

if (System.Web.HttpContext.Current.Response.Cookies["CountryPreference"] == null)

요청이 아닌 응답 개체를 사용하여 쿠키의 존재를 확인하려고 하면 ASP.net 에서 자동으로 쿠키를 만듭니다.

여기에서 자세한 게시물을 확인하십시오. http://chwe.at/blog/post/2009/01/26/Done28099t-use-ResponseCookiesstring-to-check-if-a-cookie-exists!.aspx


링크가 다시 다운될 경우를 대비하여 기사에서 인용합니다.

짧은 설명, 만약 당신이 전체 이야기를 읽는 것을 좋아하지 않는다면.

"if(Response)"와 같은 코드를 사용하는 경우.쿠키["mycookie"]!= null) { …}, ASP.Net은 백그라운드에서 "mycookie"라는 이름의 새 쿠키를 자동으로 생성하고 이전 쿠키를 덮어씁니다!항상 요청을 사용합니다.쿠키 - 쿠키를 읽을 수 있는 컬렉션!

[ 기사에서 더 자세한 내용 ]

이력서에서는 쿠키를 읽을 때 "응답"을 사용하지 말고 "요청"을 사용합니다.

언급URL : https://stackoverflow.com/questions/456807/asp-mvc-cookies-not-persisting