Tomar el título de la pregunta del OP como eliminar todas las cookies: "Eliminar cookies en el sitio web"
Encontré código de Dave Domagala en la web en algún lugar. Edité Dave's para permitir también las cookies de Google Analytics, que recorrieron todas las cookies que se encuentran en el sitio web y las eliminaron todas. (Desde el punto de vista del desarrollador, actualizar el código nuevo en un sitio existente es un buen toque para evitar problemas con los usuarios que vuelven a visitar el sitio).
Utilizo el siguiente código junto con leer las cookies primero, manteniendo los datos requeridos y luego restableciendo las cookies después de limpiar todo con el siguiente ciclo.
El código:
int limit = Request.Cookies.Count;
HttpCookie aCookie;
string cookieName;
for(int i = 0; i < limit; i++)
{
cookieName = Request.Cookies[i].Name;
aCookie = new HttpCookie(cookieName);
aCookie.Value = "";
aCookie.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(aCookie);
}
Además: si usa Google Analytics
El bucle / eliminación anterior eliminará TODAS las cookies del sitio, por lo que si usa Google Analytics, probablemente sería útil mantener la cookie __utmz ya que esta realiza un seguimiento de dónde vino el visitante, qué motor de búsqueda se usó, qué se hizo clic en el enlace, qué palabra clave se utilizó y en qué lugar del mundo se accedió a su sitio web.
Entonces, para mantenerlo, envuelva una declaración if simple una vez que se conozca el nombre de la cookie:
...
aCookie = new HttpCookie(cookieName);
if (aCookie.Name != "__utmz")
{
aCookie.Value = "";
aCookie.Expires = DateTime.Now.AddDays(-1);
HttpContext.Current.Response.Cookies.Add(aCookie);
}
Session.Abandon
borrará la cookie de sesión ASP.NET, pero no las cookies que establezca manualmente, como el ID de usuario aquí. YCookies["whatever"]
nunca es nulo; el marco creará una cookie si solicita una que no existe.