J'ai un problème étrange pour vous.
J'ai créé un contrôle qui insère un enregistrement dans une base de données et écrit un cookie sur la machine de l'utilisateur. Voici l'extrait de code qui écrit le cookie :
protected void CreateCookie(Guid id, DateTime expires)
{
var oCookie = new HttpCookie("gsow");
oCookie.Value = id.ToString();
oCookie.Expires = expires;
HttpContext.Current.Response.Cookies.Add(oCookie);
}
Très simple, rien d'extraordinaire. L'ID est transmis par la fonction qui écrit l'entrée dans la base de données et cet ID est généré à la volée. Maintenant, voici le code pour ma lecture de cookie :
protected void Page_Load(object sender, EventArgs e)
{
var oCookie = HttpContext.Current.Response.Cookies["gsow"];
output.Text = "I am Here<br />";
if (oCookie != null)
output.Text += oCookie.Value;
else
output2.Text = "No Cookie.";
}
Encore une fois, très simple. Voici les étapes que j'ai suivies et dupliquées plusieurs fois :
- Créer une entrée cookie/db en lançant la première page.
- Vérifiez que l'entrée cookie/db existe (elle existe à cette étape, vérifiée via le gestionnaire de cookies de Chrome).
- Lancer la deuxième page
Une fois que j'ai chargé la deuxième page, qui devrait afficher l'ID que j'ai défini précédemment, le cookie existe toujours mais il est désactivé.
Voici une capture d'écran du cookie après le chargement de la première page :
Et une fois que j'ai chargé la deuxième page :
Donc, d'après ce que je vois, la valeur/expiration du cookie est supprimée lorsque je charge la deuxième page. Quelqu'un a-t-il une idée de la raison pour laquelle cela se produit ?
Gracias