Compartilhar via


Como: Gravar um cookie

Cookies fornecem um recurso em aplicativos da Web para armazenar informações específicas de usuário, como preferências do usuário ou histórico.Um cookie é um pequeno pedaço de texto que acompanha solicitações e respostas como se eles fossem entre o servidor da Web e cliente.O cookie contém informações que o aplicativo da Web pode ler sempre que o usuário visitar o site.

O navegador gerencia os cookies nos computadores clientes.Os cookies são enviados para o cliente usando o objeto HttpResponse, que expõe uma propriedade chamada Cookies.Qualquer cookies que você deseje que sua aplicação Web envie para o navegador devem ser adicionados à coleção.Quando você escrever um novo cookie, você deve especificar Name e Value.Cada cookie deve ter um nome exclusivo para que sua aplicação web possa identificá-lo quando o navegador envia-lo com solicitações futuras.

Há duas maneiras para gravar um cookie em um computador do usuário.Você pode tanto diretamente definir propriedades do cookie na coleção Cookies ou você pode criar uma instância do objeto HttpCookie e adicioná-lo à coleção Cookies.Você deve criar cookies antes que a página ASP.NET seja processada para o cliente.Por exemplo, você pode escrever um cookie em um manipulador de eventos Page_Load, mas não em um manipulador de eventos Page_Unload.Para obter mais informações sobre o ciclo de vida da página, consulte Visão Geral do Ciclo de Vida da Página ASP.NET.

For more information, see Visão Geral de Cookies do ASP.NET.

  • Na página ASP.NET que deseja gravar um cookie, atribua propriedades para um cookie na coleção Cookies.

    O exemplo de código a seguir mostra um cookie chamado UserSettings com os valores das subchaves Font e conjunto Color.Isso também define o tempo de expiração para ser amanhã.

    Response.Cookies("UserSettings")("Font") = "Arial"
    Response.Cookies("UserSettings")("Color") = "Blue"
    Response.Cookies("UserSettings").Expires = DateTime.Now.AddDays(1)
    
    Response.Cookies["UserSettings"]["Font"] = "Arial";
    Response.Cookies["UserSettings"]["Color"] = "Blue";
    Response.Cookies["UserSettings"].Expires = DateTime.Now.AddDays(1d);
    
  1. Criar um objeto do tipo HttpCookie e atribua um nome a ele.

  2. Atribua valores a subchaves do cookie e defina as propriedades do cookie.

  3. Adicione o cookie à coleção Cookies.

    O exemplo de código a seguir mostra uma instância do objeto HttpCookie chamada myCookie, que representa um cookie chamado UserSettings.

    Dim myCookie As HttpCookie = New HttpCookie("UserSettings")
    myCookie("Font") = "Arial"
    myCookie("Color") = "Blue"
    myCookie.Expires = Now.AddDays(1)
    Response.Cookies.Add(myCookie)
    
    HttpCookie myCookie = new HttpCookie("UserSettings");
    myCookie["Font"] = "Arial";
    myCookie["Color"] = "Blue";
    myCookie.Expires = DateTime.Now.AddDays(1d);
    Response.Cookies.Add(myCookie);
    

Programação robusta

Por padrão, os cookies são compartilhados por todas as páginas que estão no mesmo domínio, mas você pode limitar os cookies para subpastas específicas em um site da Web definindo sua propriedade Path.Para permitir que um cookie sejam recuperados por todas as páginas de todas as pastas do seu aplicativo, defina-o a partir de uma página que está na pasta raiz do seu aplicativo e não defina a propriedade Path.

Se você não especificar um limite de validade para o cookie, o cookie não é persisteido para o computador cliente e ele expira quando a sessão do usuário expira.

Cookies podem armazenar valores somente do tipo String.Você deve converter quaisquer valor que não sejam do tipo String para o tipo String antes que você possa armazená-los em um cookie.Para muitos tipos de dados, chamar o método ToString é suficiente.Para obter mais informações, consulte o Método ToString para o tipo de dados que deseja persistir.

Segurança

Não armazene informações confidenciais, como um nome de usuário ou uma senha, em um cookie.Para obter mais informações do cookie de segurança, consulte Visão Geral de Cookies do ASP.NET.

Consulte também

Tarefas

Como: Ler um cookie

Como: Excluir um cookie

Conceitos

Visão Geral de Cookies do ASP.NET

Práticas de segurança básica para aplicativos da Web

Visão Geral sobre o Gerenciamento de Estado do ASP.NET