Je ne parviens pas à définir un cookie persistant. Cela devient une session seulement.Le délai d'expiration du cookie ne fonctionne pas en C#
Je sais que le même problème a demandé here mais je n'ai pas pu le réparer même si j'ai fait toutes les étapes.
(Impossible de tester avec Fiddler).
Mon code est:
/// 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 "";
}
}
J'utilise Chrome.
Comment puis-je résoudre ce problème?
Mise à jour:
Ajout d'un bouton et méthodes InsertCookie.