2017-10-16 5 views
0

영구 쿠키를 설정할 수 없습니다. 세션 만됩니다.C에서 쿠키 만료 시간이 작동하지 않습니다.

나는 같은 문제가 here에게 물어 봤지만 나는 모든 단계를 수행해도 그것을 고칠 수 없다는 것을 안다.
(Fiddler에서 테스트 할 수 없음).

내 코드는 다음과 같습니다

/// Default.aspx.cs methods : 

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (! Cookies.CookieExist("kuki")) 
    { 
     Cookies.CreateCookie("kuki"); 
    } 
    Fill(); 
}  

private void Fill() 
{ 
    string a = Cookies.GetCookieValue("kuki", "key"); 

    if (!a.Contains("data")) 
    { 
     return; 
    } 
    // codes for a 
} 

protected void ButtonAdd_Click(object sender, EventArgs e) 
{ 
    if (TextBox1.Text != string.Empty) 
    { 
     Cookies.InsertCookie("kuki", "key", TextBox1.Text); 
    }   
} 


/// Cookie class methods: 

public static void InsertCookie(string Cookie, string Key, string Data) 
{ 
    HttpCookie Kuki = HttpContext.Current.Request.Cookies[Cookie]; 
    Kuki[Key] = Data; 
    HttpContext.Current.Response.SetCookie(Kuki); 
} 

public static bool CookieExist(string Cookie) 
{ 
    HttpCookie cookie = HttpContext.Current.Request.Cookies[Cookie]; 
    if (cookie == null) 
    { 
     return false; 
    } 
    else 
    { 
     return true; 
    } 
} 

public static void CreateCookie(string Cookie) 
{ 
    HttpCookie cookie = new HttpCookie(Cookie); 
    cookie.Expires = DateTime.Now.AddYears(1); 
    HttpContext.Current.Response.Cookies.Set(cookie); 
} 

public static string GetCookieValue(string CookieName, string CookieKey) 
{ 
    HttpCookie cookie = HttpContext.Current.Request.Cookies[CookieName]; 
    try 
    { 
     if (cookie != null) 
     { 
      return cookie[CookieKey].ToString(); 
     } 
     else 
     { 
      return ""; 
     } 
    } 
    catch (Exception) 
    { 
     return ""; 
    }   
} 

내가 크롬을 사용합니다.
어떻게 해결할 수 있습니까?

업데이트 :

단추 및 InsertCookie 메서드가 추가되었습니다. 대신

public static void CreateCookie(string Cookie) 
{ 
    HttpCookie cookie = new HttpCookie(Cookie); 
    cookie.Expires = DateTime.Now.AddYears(1); 
    HttpContext.Current.Response.Cookies.Set(cookie); 
} 

답변

0

오류가 무엇입니까. 쿠키에 데이터를 저장하려고했습니다. 하지만 예를 들어 내 기억 방법에만 쿠키를 사용해야합니다. 죄송합니다.

1

는 쿠키를 추가

public static void CreateCookie(string Cookie) 
{ 
    HttpCookie cookie = new HttpCookie(Cookie); 
    cookie.Expires = DateTime.Now.AddYears(1); 
    HttpContext.Current.Response.Cookies.Add(cookie); //<-- Add 
} 

사용 Add을보십시오. 응답에 이미 기록 된 쿠키를 업데이트해야하는 경우에만 Set을 사용하십시오 (거의 사용하지 않음).