C#(csharp), ASP.NET e Cookies
Veja neste artigo, como trabalhar com cookies em aplicações ASP.NET utilizando a linguagem C#.
Artigos .NET C#(csharp), ASP.NET e Cookies
Cookies permitem você armazenar pequenas quantidades de dados no computador do usuário. Eles ocupam pouco espaço no disco do usuário e muitas vezes são úteis para se armazenas informações não essências, como as preferências do usuário.
Armazene nos cookies informações que você espera perder. O usuário pode apagar os cookies a qualquer momento, além de alguns usuários desabilitarem esta funcionalidade. O ASP.NET permite você manipular cookies de forma muito fácil com a coleção Cookies dos objetos Request e Response. As Listagens 1 e 2 são duas páginas que irão ler e escrever nos cookies que você informar.
Listagem 1. WriteCookies.aspx: Escrevendo em um cookie aleatório
void WriteClicked(Object Sender, EventArgs e)
HttpCookie cookie = new HttpCookie(NameField.Text);
cookie.Value = ValueField.Text;
Response.Write("Cookie written. <br><hr>");
<h3>Use the button below to write cookies to your browser </h3>
The cookies will expire in one minute.
Cookie Name <asp:textbox id="NameField" runat="server"/><br>
Cookie Value <asp:textbox id="ValueField" runat="server"/><br>
<asp:button text="WriteCookie" onclick="WriteClicked" runat="server" /><br>
<a href="readcookies.aspx">Read the cookies</a>
Listagem 2. ReadCoookies.aspx: Lendo os cookies criados no exemplo WriteCookies
void ReadClicked(Object Sender, EventArgs e)
//Pega o nome do que cookie que o usuário informou
String strCookieName = NameField.Text;
//Escreve o valor do cookie
Response.Write("The " + strCookieName + " cookie contains: <b>"
Use the button below to read a cookie<br>
Cookie Name <asp:textbox id="NameField" runat="server" />
<asp:button text="ReadCookie" onclick="ReadClicked" runat="server" />
<a href="writecookies.aspx">Write Cookies</a>
Para criar um cookie, crie um novo objeto HttpCookie (Linha 6 da Listagem 1), atribua uma string à sua propriedade Value (Linha 9), e então chame o método Add() do objeto Response.Cookies (Linha 17). Você pode também determinar o tempo de expiração de um cookie configurando a propriedade Expires para um valor de DateTime (Linha 14).
O arquivo ReadCookies.aspx da Listagem 2 mostra da mesma forma como é fácil para ler cookies, utilizando a coleção Request.Cookies (Linha 9), que é indexada pelo nome do cookie.
Cookies podem armazenas apenas strings, então se você precisa armazenar um tipo de dado mais complexo, ele deve ser convertido para string. Uma forma possível de se armazenar estruturas de dados complexas é transformando a estrutura em um XML e então convertê-la de volta quando o cookie for lido.
Você pode armazenar diversas strings em um cookie, tratando cada cookie como uma coleção de objetos. Por exemplo, o código seguinte iria funcionar perfeitamente:
A classe HttpCookie possui algumas propriedades avançadas, listadas na Tabela 1.
Configura o dominío ao qual pertence este cookie. Se utilizado, ele restringe o acesso ao cookie a servidores do domínio espeficicado, como mycompany.com.
Configura o caminho ao qual o pertence este cookie. Se utilizado, restringe o acesso ao cookie a páginas localizadas no caminho especificado.
Configura a flag que determina se o cookie deve ser transmitido de forma segura para o browser do usuário, utilizando o protocolo HTTPS. Seu servidor web deve ter HTTPS configurado para que esta opção funcione.