programing

ASP MVC 쿠키가 유지되지 않음

javaba 2021. 1. 14. 23:06
반응형

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)

Request 대신 Response 개체를 사용하여 쿠키의 존재를 확인하려고하면 ASP.net에서 자동으로 쿠키를 만듭니다.

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


링크가 다시 다운되는 경우 기사에서 인용 ....

전체 이야기를 읽고 싶지 않다면 짧은 설명

"if (Response.Cookies ["mycookie "]! = null) {…}"와 같은 코드를 사용하면 ASP.Net은 백그라운드에서 "mycookie"라는 이름의 새 쿠키를 자동으로 생성하고 이전 쿠키를 덮어 씁니다! 항상 Request.Cookies-Collection을 사용하여 쿠키를 읽으십시오!

[ 기사에 대한 자세한 내용 ]


이력서에서 쿠키를 읽는 데 " 응답 "을 사용하지 말고 " 요청 "을 사용하십시오.

참조 URL : https://stackoverflow.com/questions/456807/asp-mvc-cookies-not-persisting

반응형