Você está aqui: ASP.NET ::: Dicas & Truques ::: Sessão |
Aprenda a usar sessões (session) em ASP.NETQuantidade de visualizações: 13171 vezes |
|
Em algumas das minhas dicas sobre ASP.NET você verá que é possível usar cookies para "memorizar" informações entre os acessos que um usuário faz às nossas páginas. Porém, os cookies possuem algumas limitações, tais como a quantidade de informação que pode ser armazenada. Além disso, cookies são gravados no computador do usuário, o que lhe permite recusar tal iniciativa por parte do servidor web. O ASP.NET, com o propósito de contornar as limitações impostas por cookies, nos permite trabalhar com sessões. Cada sessão é associada a um usuário em particular e podemos gravar nesta a quantidade de informações que desejarmos. E, diferente do que ocorre com cookies, podemos gravar diferentes tipos de dados em uma sessão, incluindo objetos de classes personalizadas, DataSet, etc. Acesso à funcionalidade e valores armazenados na sessão é feito por meio de um objeto da classe HttpSessionState. Este objeto está disponível para acesso a partir da propriedade Session das classes HttpContext e Page. Uma nova sessão é criada durante a primeira requisição que o usuário faz a uma determinada aplicação ASP.NET e seus valores persistirão durante todo o tempo em que o usuário estiver usando a aplicação. A sessão expirará somente quando o intervalo entre requisições for maior que o número de minutos definido para a propriedade Timeout ou o usuário fechar o navegador web. Vamos ver um exemplo do uso de sessões em ASP.NET. Nesta demonstração vamos colocar uma caixa de texto, dois botões e um rótulo (Label) em uma página. Veja o código Default.aspx:
<%@ 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 id="Head1" runat="server">
<title>Estudos ASP.NET</title>
</head>
<body>
<form id="form1" runat="server">
Valor na sessão:
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Gravar Valor na Sessão"
onclick="Button1_Click" /><br />
<asp:Label ID="Label1" runat="server" Text="Valor gravado na sessão:">
</asp:Label><br />
<asp:Button ID="Button2" runat="server" Text="Obter valor na sessão"
onclick="Button2_Click" />
</form>
</body>
</html>
Veja agora o código para o 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 item "arquivo_codigos" na sessão
Session["arquivo_codigos"] = TextBox1.Text;
}
protected void Button2_Click(object sender, EventArgs e){
// vamos obter o valor do item na sessão e exibí-lo no label Label1
if(Session["arquivo_codigos"] != null)
Label1.Text = "Valor gravado na sessão: " + Session["arquivo_codigos"];
else
Label1.Text = "Valor na sessão não existe ainda";
}
}
Execute a aplicação web, digite uma frase na caixa de texto e clique o botão "Gravar Valor na Sessão". Em seguida clique o botão "Obter valor na sessão" para exibir, no rótulo Label1, o valor do item gravado na sessão. |
|
|
Veja mais Dicas e truques de ASP.NET |
Dicas e truques de outras linguagens |
|
C# - Como adicionar conteúdo ao final de um arquivo em C# usando as classes FileStream e StreamWriter C++ Builder - Como obter a quantidade de caracteres em um TEdit usando a função GetTextLen() do C++ Builder |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





