J'ai expérimenté avec du code qui va effacer tous les cookies dans un HttpContext.Response
.Relation entre HttpContext.Request.Cookies et HttpContext.Response.Cookies
Dans un premier temps, je ceci:
DateTime cookieExpires = DateTime.Now.AddDays(-1);
for (int i = 0; i < HttpContext.Request.Cookies.Count; i++)
{
HttpContext.Response.Cookies.Add(
new HttpCookie(HttpContext.Request.Cookies[i].Name, null) { Expires = cookieExpires });
}
Cependant, cela erreur avec un OutOfMemoryException
car la boucle for
sort jamais - chaque fois que vous ajoutez un cookie au Response
, il obtient également ajouté à la `demande .
Les travaux approche suivante:
DateTime cookieExpires = DateTime.Now.AddDays(-1);
List<string> cookieNames = new List<string>();
for (int i = 0; i < HttpContext.Request.Cookies.Count; i++)
{
cookieNames.Add(HttpContext.Request.Cookies[i].Name);
}
foreach (string cookieName in cookieNames)
{
HttpContext.Response.Cookies.Add(
new HttpCookie(cookieName, null) { Expires = cookieExpires });
}
Alors, quelle est la relation entre exactement HttpContext.Request.Cookies
et HttpContext.Response.Cookies
?