Mengambil judul Pertanyaan OP sebagai menghapus semua cookie - "Hapus Cookie di situs web"
Saya menemukan kode dari Dave Domagala di web di suatu tempat. Saya mengedit Dave untuk mengizinkan cookie Google Analytics juga - yang memutar semua cookie yang ditemukan di situs web dan menghapus semuanya. (Dari sudut pandang pengembang - memperbarui kode baru ke situs yang ada, adalah sentuhan yang bagus untuk menghindari masalah dengan pengguna yang mengunjungi kembali situs tersebut).
Saya menggunakan kode di bawah ini bersama-sama dengan membaca cookie terlebih dahulu, memegang data yang diperlukan - kemudian mengatur ulang cookie setelah mencuci semuanya bersih dengan loop di bawah ini.
Kode:
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);
}
Tambahan: Jika Anda Menggunakan Google Analytics
Loop / delete di atas akan menghapus SEMUA cookie untuk situs tersebut, jadi jika Anda menggunakan Google Analytics - mungkin berguna untuk menyimpan cookie __utmz karena cookie ini melacak dari mana pengunjung berasal, mesin pencari apa yang digunakan, apa link diklik, kata kunci apa yang digunakan, dan di mana mereka berada di dunia saat situs Anda diakses.
Jadi untuk mempertahankannya, bungkus pernyataan if yang sederhana setelah nama cookie diketahui:
...
aCookie = new HttpCookie(cookieName);
if (aCookie.Name != "__utmz")
{
aCookie.Value = "";
aCookie.Expires = DateTime.Now.AddDays(-1);
HttpContext.Current.Response.Cookies.Add(aCookie);
}
Session.Abandon
akan menghapus cookie sesi ASP.NET, tetapi bukan cookie yang Anda setel secara manual, seperti ID pengguna di sini. DanCookies["whatever"]
tidak pernah nol; kerangka kerja akan membuat cookie jika Anda meminta cookie yang tidak ada.