Olá pessoal, meu nome é Mauricio Junior; irei desenvolver este artigo para ajudar a todos como trabalhar com cookie usando a IDE da Microsoft Visual Studio.NET 2005. Para não deixar você sem saber o que é cookie ou pra que serve isso, fui a um tradutor inglês / português e digitei:

 

- cookie = biscoito, bolinho, doce, bolacha; bloco de dados que um servidor (ou site na Internet) armazena no disco rígido do usuário com fins de identificação e pesquisa (usado para a promoção de vendas e serviços na Internet).

 

Resumindo, armazena algumas informações de uma pessoa ou usuário em disco rígido do seu computador para identificar, pesquisar ou qualquer outra coisa que precise dos dados do cliente. No artigo anterior, expliquei sobre session, como armazenar e ler uma session via sistema. O problema da session, é que todos os dados estarão ativos apenas quando o cliente estiver aberto, ou seja, o IE ou outros quando se fala de web. WindowForm ainda não foi abordado nos artigos.

 

 

 

 

Essa ferramenta criada pela Microsoft é bastante poderosa e rápida para desenvolver um aplicativo web, window ou mobile, vale a pena.

Começando o artigo, irei mostrar como criar um cookie com dados digitados pelo usuário pelo formulário web, o segundo artigo que é uma seqüência. Mostrarei como ler do arquivo os dados informados dentro do disco local do usuário.

 

Antes de tudo, criei um projeto web chamado website1 com uma página que possui um formulário e uma classe.

 

 

 

 

Segue os dados da página:

TextBox

Id = txtNome

 

TextBox

Id = txtEmail

 

Button

Id = cmdCriar

Text = Criar Cookie

 

Para ficar melhor ainda, o código fonte da página está disposto logo em seguida:

 

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

    <title>Gerando cookie</title>

</head>

<body>

    <form id="formCookie" runat="server">

    <div>

        <h3>Gerando cookie com VS 2005.</h3>

       

        Nome: <asp:TextBox ID="txtNome" runat="server"></asp:TextBox> <br />

        E-mail:  <asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>

        <br /><br />

        <asp:Button ID="cmdCriar" Text="Criar Cookie" runat="server" OnClick="cmdCriar_Click" />

        <br /><br />

     

    </div>

    </form>

</body>

</html>

 

Dentro da classe .cs agora, criei um método protected chamado CriarCookie, passando dois valores; nome e email.

 

 

 

 

Código fonte:

    /// <summary>

    /// Método que cria o cookie do seu sistema

    /// </summary>

    /// <param name="nome">nome qualquer</param>

    /// <param name="email">email qualquer</param>

    protected void CriarCookie(string nome, string email)

    {

        //criando cookie

        //esse nome website1 pode ser qualquer nome que quiser, porém,

        //é necessário um nome

        HttpCookie cookie = new HttpCookie("website1");

 

        //cria cookie com o ip da maquina

        cookie.Values.Add("IP", Request.UserHostAddress.ToString());

        cookie.Values.Add("NOME", nome);

        cookie.Values.Add("EMAIL", email);

 

        //colocando o cookie para expirar daki um dia

        cookie.Expires = DateTime.Now.AddDays(1);

 

        Response.AppendCookie(cookie);

    }

 

Explicando código:

 

HttpCookie cookie = new HttpCookie("website1");

 

Esta linha cria o cookie dentro do computador de um usuário. Esse nome website1, foi escolhido por mim, ou seja, pode colocar qualquer nome dentro desses parênteses, o que quiser colocar.

 

 

//cria cookie com o ip da maquina

cookie.Values.Add("IP", Request.UserHostAddress.ToString());

cookie.Values.Add("NOME", nome);

cookie.Values.Add("EMAIL", email);

 

Estas três linhas apenas adicionam valores dentro do arquivo do cookie. Existe um nome e valor, por exemplo: dentro do meu cookie terá um nome chamado NOME (em maiúsculo) = ao valor que adicionei. NOME=MAURICIOJUNIOR, da mesma forma terá um valor para o EMAIL=MAURICIO@ASPNETI.COM.

 

 

//colocando o cookie para expirar daki um dia

cookie.Expires = DateTime.Now.AddDays(1);

 

Response.AppendCookie(cookie);

 

A linha EXPIRES significa apenas que esse cookie irá expirar no próximo dia, ou seja, fiz a soma do dia de hoje mais um. O comando APPENDCOOKIE apenas gera o cookie, ou seja, efetivamente gera o cookie dentro do pc em uma pasta meio escondida.

 

O próximo método é o do botão.

 

 

 

 

 

Código fonte:

 

    protected void cmdCriar_Click(object sender, EventArgs e)

    {

        CriarCookie(txtNome.Text, txtEmail.Text);

    }

 

 

Nesse método, chamo o outro método para criar o cookie passando os valores. As próximas figuras mostram o funcionamento da aplicação.

 

 

 

 

 

 

Cliquei no botão gerar cookie, veja a figura com o resultado.

Acessei a pasta e lá está o cookie gerado com os dados dentro.

 

 

 

 

Espero que tenha gostado e aprendido muito como eu aprendi.

 

Mauricio Junior

www.aspneti.com

www.ascompras.com

mauricio@aspneti.com