13 Fev 2014 às 15:24 0 1192 Programação
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:
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 ocookie deve expirar.
Linha 5: Grava o cookie na máquina do usuário.
Para resgatar o cookie:
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 ocookie 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 ocookie é 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.