He estado experimentando con un código que borrará todas las cookies en un HttpContext.Response
.Relación entre HttpContext.Request.Cookies y HttpContext.Response.Cookies
Inicialmente, utilicé esta:
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 });
}
Sin embargo, esto va a error con un OutOfMemoryException
porque el bucle for
nunca se sale - cada vez que se agrega una cookie al Response
, también se agrega a la `Solicitud .
El enfoque siguientes obras:
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 });
}
Así que, ¿cuál es exactamente la relación entre HttpContext.Request.Cookies
y HttpContext.Response.Cookies
?