Considerando o título da Pergunta do OP como exclusão de todos os cookies - "Excluir Cookies do site"
Encontrei o código de Dave Domagala em algum lugar da web. Eu editei o de Dave para permitir cookies do Google Analytics também - que percorria todos os cookies encontrados no site e os excluía todos. (Do ponto de vista do desenvolvedor - atualizar o novo código em um site existente é um bom toque para evitar problemas com os usuários revisitando o site).
Eu uso o código abaixo junto com a leitura dos cookies primeiro, mantendo todos os dados necessários - em seguida, redefinindo os cookies depois de limpar tudo com o loop abaixo.
O 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);
}
Adição: Se você usa o Google Analytics
O loop / exclusão acima excluirá TODOS os cookies do site, portanto, se você usar o Google Analytics - provavelmente seria útil manter o cookie __utmz, pois este mantém o controle de onde o visitante veio, qual mecanismo de pesquisa foi usado, o que o link foi clicado, qual palavra-chave foi usada e onde eles estavam no mundo quando seu site foi acessado.
Portanto, para mantê-lo, envolva uma instrução if simples assim que o nome do cookie for conhecido:
...
aCookie = new HttpCookie(cookieName);
if (aCookie.Name != "__utmz")
{
aCookie.Value = "";
aCookie.Expires = DateTime.Now.AddDays(-1);
HttpContext.Current.Response.Cookies.Add(aCookie);
}
Session.Abandon
irá limpar o cookie de sessão ASP.NET, mas não os cookies que você definir manualmente, como o ID do usuário aqui. ECookies["whatever"]
nunca é nulo; o framework criará um cookie se você solicitar um não existente.