Trabalhando com Cookie usando Visual Studio.NET 2005 (parte I)


por Mauricio Junior em 1/1/2011 0

 

 

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

 

 

voltar   comente  subir

 
Mauricio Junior Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; .
Tenho 29 anos e possuo sete livros publicados pela editora Ciência Moderna. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, ECODE10.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A. Blog: blog.mauriciojunior.org, Site pessoal www.mauriciojunior.org



Comentários:

Comente (dê sua opinião):
Comentário:
Código Imagem:  (digite o código da imagem respeitando maiúsculo e minúsculo)

Favor digitar o código da imagem para cadastramento.

 

Outros Artigos do Autor

SQL Server 2005 SP2 já está disponível :)
Ajax com C#.NET (parte 1)
A mágica do ResolveURL
Sistema de Login em ASP – Parte IX (Utilizando três camadas)
Vídeo Aula: Criando e Publicando Site de uma melhor maneira com C#.NET
Dica para buscar nome de tabelas ou stored procedures dentro do banco de dados
Fotos do HTC Mozart
URL Indexável – Reescrever URL de uma forma amigável
Comunicação .NET e VB 6.0 – Parte II - usando Visual Studio.NET 2005
Exemplo usando try e catch
Evento na Faculdade Projeção
Aspirador de pó inteligente
Review do Windows Phone, Games e Aplicativos
Cortando String XML
Certificação - Segunda Chance
Visual Studio 11 Solution Explorer poderoso
Abrir o programa apenas uma vez
A instalação do Visual Studio 2011
Dica: Pegar extensão, nome do arquivo e pasta
Linguagem de programação: Nunca faça isso - C#.NET
Verifica Browser utilizando C#
Sistema em ASP 3.0 utilizando 3 camadas – Parte 3
URL Routing com o Visual Studio .NET 2010
Gerando uma dll com sistema web
Utilizando o GridView e DetailsView
Integração é necessário
MinimizeBox no Celular
Windows Phone 7, nada como aprender vendo
Vídeo: Série Atlas.NET - Parte III
Generics usando Object DataSource
Vírus - Link com Vírus
User Control Windows executando no Internet Explorer (parte 2 de 2)
Novo Firefox 3.0 - o chamado Minefield
Criptografia de String de Conexão no Web.Config
Novo AjaxControlToolkit e Visual Studio 11