Você está aqui: ASP.NET ::: Dicas & Truques ::: Sessão

Como limpar todos os itens e valores de uma sessão ASP.NET (e manter o mesmo SessionID)

Quantidade de visualizações: 11715 vezes
Em algumas situações pode ser necessário excluir todos os itens e seus valores de uma sessão ASP.NET, ou seja, limpar toda a sessão. Porém, gostaríamos de manter o mesmo valor do SessionID.

Para esta tarefa podemos usar os métodos Clear() e RemoveAll() da classe HttpSessionState. Estes métodos limpam a sessão mas mantém o SessionID intacto.

Vamos ver um exemplo? Coloque três botões <asp:Button>, uma caixa de texto <asp:TextBox> e um rótulo <asp:Label> em uma página. Quando digitarmos algum conteúdo na caixa de texto e clicarmos no primeiro botão, o valor será guardado na sessão. Ao clicarmos no segundo botão o valor guardado na sessão será obtido e exibido em um controle Label, juntamente com o SessionID. Finalmente, ao clicarmos no terceiro botão todos os itens e valores na sessão serão excluídos.

Veja o código completo para a página Default.aspx:

<%@ Page Language="C#" AutoEventWireup="true"  
CodeFile="Default.aspx.cs" Debug="true"
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 id="Head1" runat="server">
    <title>Estudos ASP.NET</title>
</head>
<body>

<form id="form1" runat="server">
  
  Valor a ser gravado no sessão:<br />
  <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />


Veja agora a implementação do evento Click dos três botões no arquivo de code-behind Default.aspx.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page {
  protected void Button1_Click(object sender, EventArgs e){
    // vamos gravar o conteúdo da caixa de texto na sessão
    // note que o nome do item é "nome"
    Session.Add("nome", TextBox1.Text);
    
    // vamos avisar que o item foi adicionado à sessão
    TextBox1.Text = "";
    Label1.Text = "O item e seu valor foram adicionados à sessão. " +
      "O SessionID é: " + Session.SessionID;
  }

  protected void Button2_Click(object sender, EventArgs e){


Execute a aplicação e veja o comportamento. Note como o valor do SessionID permanence constante mesmo depois de limparmos a sessão várias vezes.

Link para compartilhar na Internet ou com seus amigos:

Veja mais Dicas e truques de ASP.NET

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 25 usuários muito felizes estudando em nosso site.