Je veux que mon cookie puisse disparaître lorsque l'utilisateur ferme leur courroiement ... J'ai déjà défini des propriétés prometteuses à la recherche, mais mes cookies reviennent à vivre même après la fermeture du navigateur entier.
HttpCookie cookie = new HttpCookie("mycookie", "abc"); cookie.HttpOnly = true; //Seems to only affect script access cookie.Secure = true; //Seems to affect only https transport
6 Réponses :
Vérifiez la section ASP.NET http://msdn.microsoft.com/ EN-US / Bibliothèque / H6BB9CZ9% 28VS.71% 29.aspx P> SESSION CODE> VARIABLE. Cela persistera en fonction de votre navigateur et peut être défini pour être "COOKIELESS" ou avec un délai difficile. P>
Ce n'est pas vraiment lié à ma question. Imaginez si la session était désactivée et je voulais toujours créer un cookie http qui disparaît lorsque le navigateur est fermé / n'est pas écrit sur le disque, etc. Je pense que certaines des autres réponses sont sur la bonne voie cependant.
cookie.Expires = DateTime.MinValue; this cookie will expire, as soon as the browser is closed.
Les cookies sans expiration explicitement définis disparaîtront automatiquement une fois la session de navigation terminée. P>
Maintenant, "Session de navigation" signifie différentes choses à différents navigateurs. Pour certains navigateurs, cela signifie que chaque instance du navigateur est fermée. Pour certains, cela signifie simplement que les onglets pertinents ou le navigateur d'origine sont fermés. P>
Dans vos tests, assurez-vous de fermer chaque instance du navigateur avant de rouvrir le cookie. Si vous continuez à avoir des problèmes poster le nom du navigateur et la révision. P>
Si vous ne définissez pas la propriété Cookie.Expires, le cookie sera configuré pour expirer à la fin de la session du navigateur. P>
Le meilleur moyen de gérer les cookies non persistants Le délai d'attente avec le navigateur OUVERT ajoute une valeur clé pour le délai d'attente. Le code ci-dessous est utilisé pour une connexion de clé d'identification de l'utilisateur et de la sécurité du cryptage (non incluse) de la compatibilité du navigateur. Je n'utilise pas l'authentification des formulaires.
try { DateTime dateExpireDateTime; dateExpireDateTime = DateTime.Parse(HttpContext.Current.Request.Cookies[name]["key2"]); if (DateTime.Now > dateExpireDateTime) { //cookie key value timeout code } else { //reset cookie } catch { //clear cookie and redirect to log in page }
cookie ne sera pas détruire sur le navigateur fermer si strong> prise d'ici HttpCookie cookie = new HttpCookie(name);
cookie.Value = value;
Response.Cookies.Add(cookie);}
Pas complètement vrai, encore une fois le navigateur basé. Souhaitez que les navigateurs se réunissent et acceptent de "quand une session de navigateur se termine".