Nehmen Sie den Fragentitel des OP als Löschen aller Cookies - "Cookies in Website löschen"
Ich bin irgendwo im Internet auf Code von Dave Domagala gestoßen. Ich habe Dave's bearbeitet, um auch Google Analytics-Cookies zuzulassen. Dabei wurden alle auf der Website gefundenen Cookies durchlaufen und alle gelöscht. (Aus Entwicklersicht ist das Aktualisieren von neuem Code in eine vorhandene Site eine nette Geste, um Probleme mit Benutzern zu vermeiden, die die Site erneut besuchen.)
Ich verwende den folgenden Code zusammen mit dem Lesen der Cookies, dem Speichern aller erforderlichen Daten und dem Zurücksetzen der Cookies, nachdem ich alles mit der folgenden Schleife sauber gewaschen habe.
Der Code:
int limit = Request.Cookies.Count; //Get the number of cookies and
//use that as the limit.
HttpCookie aCookie; //Instantiate a cookie placeholder
string cookieName;
//Loop through the cookies
for(int i = 0; i < limit; i++)
{
cookieName = Request.Cookies[i].Name; //get the name of the current cookie
aCookie = new HttpCookie(cookieName); //create a new cookie with the same
// name as the one you're deleting
aCookie.Value = ""; //set a blank value to the cookie
aCookie.Expires = DateTime.Now.AddDays(-1); //Setting the expiration date
//in the past deletes the cookie
Response.Cookies.Add(aCookie); //Set the cookie to delete it.
}
Ergänzung: Wenn Sie Google Analytics verwenden
Die obige Schleife / Löschung löscht ALLE Cookies für die Website. Wenn Sie also Google Analytics verwenden, ist es wahrscheinlich nützlich, das __utmz-Cookie beizubehalten, da dieses Cookie verfolgt, woher der Besucher kam, welche Suchmaschine verwendet wurde, was Es wurde auf den Link geklickt, welches Schlüsselwort verwendet wurde und wo sie sich beim Zugriff auf Ihre Website auf der Welt befanden.
Um dies beizubehalten, schließen Sie eine einfache if-Anweisung ein, sobald der Cookie-Name bekannt ist:
...
aCookie = new HttpCookie(cookieName);
if (aCookie.Name != "__utmz")
{
aCookie.Value = ""; //set a blank value to the cookie
aCookie.Expires = DateTime.Now.AddDays(-1);
HttpContext.Current.Response.Cookies.Add(aCookie);
}
Session.Abandon
löscht das ASP.NET-Sitzungscookie, jedoch keine manuell festgelegten Cookies, wie hier die Benutzer-ID. UndCookies["whatever"]
ist niemals null; Das Framework erstellt ein Cookie, wenn Sie nach einem nicht vorhandenen Cookie fragen.