Como criar e restagar Cookies em Asp.Net e C#

Um cookie funciona basicamente para salvar um valor em determinada variável na máquina do usuário, e ser resgatado mais tarde. Ele pode durar o tempo que você determinar (lembrando que o usuário pode limpar os cookies ou desabilitá-los). Você pode utilizar como uma sessão, porém, para armazenar valores por um tempo maior, como preferências do usuário, dados de publicidade, etc.

Um bom exemplo para o uso de cookies seria para publicidade de banners no seu site. Se o usuário clicou em um banner cujo segmento é informática, pode armazenar um cookie na máquina dele com essa preferência. Caso ele entre no site novamente, você pode resgatar esse cookie e exibir banners ou produtos relacionados a informática, que é a preferência dele.

Para criar um cookie:



HttpCookie cookie = new HttpCookie("corPreferida");
cookie.Value = "amarelo";
TimeSpan somarTempo = new TimeSpan(0, 10, 0, 0);
cookie.Expires = DateTime.Now + somarTempo;
Response.Cookies.Add(cookie);


Explicação:

Linha 1: Criamos um cookie chamado corPreferida.

Linha 2: Adicionamos um valor ao cookie, nesse caso, amarelo.

Linha 3: Criamos um TimeSpan, que serve para determinar um valor de tempo. Note que temos o valor 0, 10, 0, 0. Onde os valores representam: dias, horas, minutos, segundos. Ou seja, nesse caso nosso cookie vai durar 10 horas.

Linha 4: Definimos o tempo que o cookie deve expirar, ou seja, a data atual (DateTime.Now) somado ao TimeSpan que definimos, ou seja, a data/hora  atual somando 10 horas é quando o cookie deve expirar.

Linha 5: Grava o cookie na máquina do usuário.

 

Para resgatar o cookie:



HttpCookie cookie = Request.Cookies["corPreferida"];
if (cookie.Value != null)
Response.Write(cookie.Value.ToString());


Explicação:

Linha 1: Criamos um cookie resgatando o valor do cookie corPreferida da máquina do usuário.

Linha 2: Fazemos uma verificação para garantir que não seja exibido nenhum erro. Pois se o cookie já tiver expirado ou tiver sido deletado pelo usuário, ele vai estar com valor nulo, o que vai gerar uma mensagem de erro quando executar a Linha 3. Esse IF serve para verificar se o cookie é nulo, caso seja diferente de nulo (tenha algum valor armazenado) então executamos a linha 3. Evitando assim que a Linha 3 seja executada caso o valor seja nulo, o que iria gerar mensagem de erro.

Linha 3: Imprimimos o cookie convertido em string (.ToString()) no navegador.

7 Comentários


  1. Oi! Ta de parabéns pelos tutoriais. Andei lendo alguns e percebi que estão bem exemplificados.

    Responder

  2. Muito boa a dica. Valeu!!!
    Só nos procedimentos para resgatar o cookie, funcionou if(cookie != null) ao invés de testar cookie.value

    Responder

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

*