Ir para o conteúdo

Como Criar E Restagar Cookies Em Asp.net E C#


Criado por César Christofoletti, Nov 13 2011 14:55

Não há respostas para este tópico
  • Por favor, faça o login para responder

#1 César Christofoletti

César Christofoletti
  • César Christofoletti
  • Colaborador
  • 1 Revisões

Revisou 13 novembro 2011 - 14:55

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.

Fonte: Cookies C# Asp.net | Mundo Asp.Net




2 usuário(s) está(ão) lendo este código

1 membro(s), 0 visitante(s) e 0 membros anônimo(s)