NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!

UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI

Você está em: PrincipalArtigos › ASP 3.0 › Capítulo 08 : 05
Quer receber novidades e e-books gratuitos?
« Lição anterior Δ Página principal ¤ Capítulos Próxima lição »
SITES DINÂMICOS COM ASP 3.0 - CURSO COMPLETO
Autor: Júlio Battisti


Promoção: Livro Windows Server 2012 R2 e Active Directory - Curso Completo, 2100 Páginas. Tudo para você se tornar um administrador de redes altamente qualificado para o mercado de trabalho e levar a sua carreira para o próximo nível!

Promoção: Livro Windows Server 2012 R2 e Active Directory

Curso Completo, 2100 páginas.

Tudo para você se tornar um administrador de redes altamente qualificado para o mercado de trabalho e levar a sua carreira para o próximo nível!

MAIS DETALHES | COMPRAR ESTE LIVRO


Lição 065 - Capítulo 08 - O objeto Session

Podemos usar o objeto Session para armazenar as informações necessárias para uma determinada sessão de usuário. As variáveis armazenadas no objeto Session não são descartadas quando o usuário alterna entre as páginas do aplicativo; em vez disso, essas variáveis persistem durante toda a sessão de usuário.

O servidor Web cria automaticamente um objeto Session quando uma página da Web de um aplicativo é solicitada por um usuário que já não tem uma sessão. O servidor descarta o objeto Session quando a sessão expira (por TimeOut) ou é abandonada.

Um uso comum para o objeto Session é para armazenar as preferências do usuário. Por exemplo, se um usuário indicar que prefere não visualizar elementos gráficos, você deverá armazenar essa informação no objeto Session.

O diagrama da Figura 8.16, demonstra a relação entre o objeto Application, os diversos objetos Session, o servidor Web e as diversas aplicações Web hospedadas no servidor.

Curso Completo de ASP 3.0 - Júlio Battisti
Figura 8.16 Para cada usuário conectado é criado um objeto Session.

Cada aplicação Web possui seu próprio objeto Application e informações disponíveis no objeto Application podem ser acessadas por quaisquer usuário que estiverem acessando a aplicação. Para cada usuário que acessa a aplicação Web é criado um objeto Session, onde ficam armazenadas as informações relacionadas com cada usuário. Também podemos notar, na Figura 8.16, que em um mesmo servidor Web podemos ter várias aplicações Web.

Informações armazenadas no objeto Session do usuário podem ser acessadas em qualquer página da aplicação Web, desta forma é possível passar informações entre as diversas páginas da aplicação Web durante a existência do objeto Session.

O objeto Session é baseado em Cookies, por isso estado da sessão só é mantida para navegadores que suportam Cookies.

Agora passaremos a estudar os eventos, coleções, propriedades e métodos do objeto Session.

Eventos do objeto Session.

Na Tabela 8.4, temos uma descrição dos eventos do objeto Session.

Evento Descrição
OnStart O evento Session_OnStart ocorre quando o servidor cria uma nova sessão. O servidor processa esse script antes de executar a página solicitada. O evento Session_OnStart é uma ótima oportunidade de definir as variáveis no nível de sessão, porque essa variáveis serão definidas antes de se acessar quaisquer páginas. Todos os objetos incorporados (Application, ObjectContext, Request, Response, Server e Session) estão disponíveis e podem ser referenciados no script do evento Session_OnStart. Você pode chamar o método Redirect no evento Session_OnStart, por exemplo, para assegurar que os usuários sempre iniciem uma sessão em determinada página da Web. Quando o usuário entrar no aplicativo, o servidor criará uma sessão para esse usuário e processará o script do evento Session_OnStart. É possível incluir um script nesse evento para verificar se a página aberta pelo usuário é a página inicial e, se não for, podemos redirecionar o usuário para a página inicial através de uma chamada ao método Response.Redirect.
OnEnd O evento Session_OnEnd ocorre quando uma sessão é abandonada ou o tempo limite expira - TimeOut. Para este evento, somente estão disponíveis os objetos Application, Server e Session.

Tabela 8.4 Os eventos do objeto Session.

O evento Session_OnStart

A seguir é mostrada a sintaxe para este evento.

Sintaxe para o evento Session_OnStart:

<SCRIPT LANGUAGE=Linguagem_de_script RUNAT=Server>
Sub Session_OnStart

’ Código para o evento Session_OnStart. . .

End Sub

</SCRIPT>

A seguir temos um exemplo de definição de código para o evento Session_OnStart. Neste exemplo são criadas duas variáveis de nível de Sessão. Uma com a estação do ano e outra com cotação do dólar.

<SCRIPT LANGUAGE=”VBScript” RUNAT.= “Server”>

Sub Session_OnStart

   Session(“EstacaoAno”) = “Inverno”

   Session(“CotDolar”) = 1.77
End Sub

</SCRIPT>

Uma das principais utilização do evento Session_OnStart é para a criação e inicialização de variáveis em nível de Sessão ou até mesmo objetos, como por exemplo, uma conexão com um Banco de dados.

Para criar uma variável em nível de sessão, utilizamos a seguinte sintaxe:

    Session(“Nome_da_Variável”) = Valor_da_Variável

As variáveis EstacaoAno e CotDolar podem ser acessadas, pelo usuário conectado, em qualquer página ASP da aplicação Web, pois são variáveis de nível de Sessão, tecnicamente falando, diríamos que são variáveis de nível do objeto Session, as quais estão disponíveis, em qualquer página, para o usuário ligado a Sessão.

Um detalhem importante a ser lembrado é que não é apenas no evento Session_OnStart que podemos definir variáveis de nível de sessão. Em qualquer página ASP podemos definir uma variável que estará disponível em nível de sessão. Para isso utilizamos a mesma sintaxe utilizada no arquivo global.asa, conforme indicado abaixo:

    Session(“Nome_da_Variável”) = Valor_da_Variável

Para acessar os valores das variáveis do objeto Session é muito simples, basta utilizar a sintaxe:

<%

     = Session(“Nome_da_Variável”)

%>

Com isso será retornado o valor da variável.

Vamos a um exemplo prático. Suponhamos que tenham sido definidas três variáveis no evento Session_OnStart, no arquivo global.asa da aplicação Web denominada Capitulo8, conforme indicado na Listagem 8.2, onde temos o arquivo global.asa para a aplicação Capitulo8.

Listagem 8.8 – Arquivo global.asa onde são definidos 3 variáveis de nível de sessão.

1          <SCRIPT LANGUAGE=VBScript RUNAT=Server>

2          Sub Session_OnStart

3              Session("Mensagem")= "Bem vindo ao site da empresa ABC LTDA !"

4              'Cotação do dólar até o meio-dia

5              Session("CotAM")= 1.50

6              'Cotação do dólar após o meio-dia.

7              Session("CotPM")= 2.00

8          End Sub

9          </SCRIPT>

Neste exemplo de arquivo global.asa, no evento Session_OnStart, definimos as variáveis Mensagem CotAM e CotPM. Estas são variáveis do objeto Session, portanto disponíveis para qualquer página a ser acessada pelo usuário, desde que tenha sido estabelecida uma conexão. Lembre que se o usuário estiver utilizando um Navegador que não suporta Cookies ou tiver desabilitado o suporte a Cookies, a sessão não será estabelecida e as informações disponíveis no objeto Session não estarão disponíveis.

Agora vamos criar uma página ASP que faz uso destas variáveis. A página usa_sessionvar.asp irá detectar a hora do dia. Até às 11:59 será apresentada a mensagem “Bom Dia” e será informado a cotação do dólar armazenada na variável CotAM. A partir de 12:00 será apresentada a mensagem Boa Tarde e será informada a cotação do dólar armazenada na variável CotPM. Em ambos os casos será emitida a mensagem contida na variável Mensagem.

Na Listagem 8.9 temos o código para a página usa_sessionvar.asp.

Listagem 8.9 – Utilizando variáveis do objeto Session.

1          <%@ Language=VBScript %>

2          <HTML>

3          <HEAD>

4          <TITLE> Utilizando variáveis em nível de Sessão !!</TITLE>

5          </HEAD>

6          <BODY>

7          <%

8          ' Atribui a hora do dia para a variável hora_dia

9          hora_dia = hour(Time())

10           Response.Write "Hora do dia: " & hora_dia & "<HR>"

11        If hora_dia<12 Then

12             Response.Write "<HR>"

13             Response.Write "Bom Dia ! <BR>"

14             Response.Write "Cotação do dólar: " & Session("CotAM") & "<BR>"

15             Response.Write Session("Mensagem")

16             Response.Write "<HR>"

17        Else

18             Response.Write "<HR>"

19             Response.Write "Boa tarde ! <BR>"

20             Response.Write "Cotação do dólar: " & Session("CotPM") & "<BR>"

21             Response.Write Session("Mensagem")

22             Response.Write "<HR>"

23        End If

24        %>

25        </BODY>

26        </HTML>

Observe que utilizamos a função hour(Time( )). Como parâmetro para a função hour, passamos a função Time ( ). A função Time( ) captura a hora do Servidor Web e a função Hour retira apenas o valor numérico da hora.

Observe que para ter acesso a uma variável do objeto Session é só utilizar a seguinte sintaxe:

Session(“Nome_da_Variável”)

Ao visualizarmos o arquivo da Listagem 8.9, após o meio-dia, obteremos o resultado indicado na Figura 8.17.

Curso Completo de ASP 3.0 - Júlio Battisti
Figura 8.17 Resultado obtido após o meio-dia.

Já ao visualizarmos o arquivo da Listagem 8.3, antes do meio-dia, obteremos o resultado indicado na Figura 8.18.

Curso Completo de ASP 3.0 - Júlio Battisti
Figura 8.18 Resultado obtido antes do meio-dia.

A possibilidade de criar variáveis no evento Session_OnStart é bastante interessante, principalmente pelo fato que estas variáveis estarão disponíveis para o usuário em todas as páginas que ele acessar na aplicação Web. Por exemplo, uma vez identificado o usuário, podemos carregar, a partir de um Banco de dados, uma série de informações sobre o mesmo e atribuí-las a variáveis do objeto Session. Com isso em qualquer página da aplicação, as informações sobre o usuário estarão disponíveis.

Um exemplo de utilização do objeto Session é encontrado em sites que oferecem treinamento pela Internet. O usuário faz o cadastro no site e recebe um Username e uma senha. Ao entrar no site, o usuário se identifica através do seu Username e senha. Após identificado, podemos utilizar o objeto Session para localizar informações sobre os cursos em que o usuário está cadastrado, os módulos já cursados e as suas preferências, tais como idioma de exibição da página. Com isso posso criar um conteúdo personalizada para cada usuário, baseado nas preferências do mesmo.

Porém não estamos limitados a criação de variáveis simplesmente. Podemos criar objetos no evento Session_OnStart. Por exemplo, posso criar um objeto do tipo ADODB.Connection e utilizar o método Open do mesmo. Com isso estou disponibilizando uma conexão de Banco de dados para o usuário, em qualquer página da aplicação, esta conexão pode ser utilizada. Esta técnica apresenta, dentre outras, duas vantagens importantes:

  • Não é necessário a colocação do código para criação da conexão, em cada página que precisar da mesma. Isto facilita a construção das páginas e reduz a possibilidade de erros.
  • Se, por algum motivo, for necessária a alteração das propriedades da conexão, basta alterar a String de conexão em um único local – no arquivo global.asa, e não em todas as páginas que fazem uso da conexão que está sendo alterada.

Na Listagem 8.10, temos um exemplo de conexão criada no evento Session_OnStart.

Listagem 8.10 – Criando uma conexão no evento Session_OnStart.

1          <SCRIPT LANGUAGE=VBScript RUNAT=Server>

2          Sub Session_OnStart

3              Session("Mensagem")= "Bem vindo ao site da empresa ABC LTDA !"

4              'Cotação do dólar até o meio-dia

5              Session ("CotAM")= 1.50

6              'Cotação do dólar após o meio-dia.

7              Session ("CotPM")= 2.00

8              'Agora cria uma conexão com o Banco de dados

9              'C:\Meus documentos\nwind.mdb

10            'Esta conexão estará disponível para todas as

11            'páginas da aplicação.

   

12            Set Session ("conexao")=Server.CreateObject("ADODB.Connection")

13            Session ("conexao").ConnectionString ="PROVIDER=MICROSOFT.JET.OLEDB.4.0;

                DATA SOURCE=c:\meus documentos\nwind.mdb"

14           Session("conexao").Open

15            End Sub

16            </SCRIPT>

Para que o objeto conexao seja uma conexão do objeto Session, e com isso esteja disponível para todas as páginas que o usuário acessar dentro da aplicação, devemos utilizar a sintaxe indicada na Listagem 8.10, ou seja:

12            Set Session("conexao")=Server.CreateObject("ADODB.Connection")

Desta forma, precisamos utilizar Session(“Nome_do_Objeto”), pois se utilizarmos simplesmente o nome do objeto, a mesma não será pertencerá ao objeto Session e não estará disponível em todas as páginas. O mesmo é válida na definição da propriedade ConnectionString e na utilização do método Open.

Agora que criamos uma conexão no evento Session_OnStart, podemos utilizar esta conexão em qualquer página da aplicação. Vamos a um exemplo de página ASP que utiliza esta conexão.

Na Listagem 8.11 temos uma página ASP que utiliza a conexão criada no evento Session_OnStart. Observe que estamos criado um objeto RecordSet que utiliza esta conexão como parâmetro para o método Open do objeto RecordSet.

Listagem 8.11  – Utilizando a conexão criada no evento OnStart – usa_sessioncon.asp.

1          <%@ Language=VBScript %>

2          <HTML>

3          <HEAD>

4          <TITLE> Utilizando uma conexão criada no arquivo global.asa.</TITLE>

5          </HEAD>

6          <BODY>

7          <%

8          'Nesta página estamos criando um objeto RecordSet,

9          'o qual utiliza a conexão Conn criada no evento

10        'Application_OnStart.

11        'O código que cria a conexão está no arquivo global.asa.

12        Set Pedidos = Server.CreateObject("ADODB.Recordset")

13        Pedidos.Open "Select * from Orders Order By OrderID", Session("conexao"), 3, 3

14        'Neste ponto tenho o objeto Pedidos ligado com a tabela

15        'Orders do Banco de dados nwind.mdb.

16        'Agora passo a exibir os resultados.

17        %>

18        <P><B>Utilizei uma conexão criada no arquivo global.asa.</B></P>

19        <TABLE border=1 width=100%>

20        <TR>

21          <TD><B>Código</B></TD>

22          <TD><B>Data</B></TD>

23          <TD><B>Cidade</B></TD>

24          <TD><B>País</B></TD>

25        </TR>

26        <%

27        'Agora exibo os registros obtidos a partir da tabela Orders.

28        Response.Write "Foram encontrados: " & Pedidos.RecordCount & " Registros.<HR>"

29        Pedidos.MoveFirst

30        Do While Not Pedidos.EOF

31        %>

32          <TR>

33            <TD><% =Pedidos.Fields("OrderID")     %></TD>

34            <TD><% =Pedidos.Fields("OrderDate")   %></TD>

35            <TD><% =Pedidos.Fields("ShipCity")    %></TD>

36            <TD><% =Pedidos.Fields("ShipCountry") %></TD>

37          </TR>

38        <%

39        Pedidos.MoveNext 

39        Loop

40        %>

41        </TABLE>

42        <BR>

43        <HR>

44        </BODY>

45        </HTML>

Na Figura 8.19 vemos o resultado quando a página usa_sessioncon.asp é carregada no Internet Explorer.

Curso Completo de ASP 3.0 - Júlio Battisti
Figura 8.19 Página que utiliza uma conexão criada no evento Session_OnStart.

Evento Session_OnEnd

Embora possamos criar variáveis e objetos no evento Application_OnEnd isto não teria utilidade prática. Normalmente utilizamos o evento OnEnd para funções administrativas, tais como gravar informações em um log de auditoria ou para gravar escolhas feita pelo usuário em um Banco de dados.

A seguir é mostrada a sintaxe para este evento.

Sintaxe para o evento Session_OnEnd:

<SCRIPT LANGUAGE=Linguagem_de_script RUNAT=Server>
Sub Application_OnEnd

       ’ Código para o evento OnEnd. . .

End Sub

</SCRIPT>

A seguir temos um exemplo de definição de código para o evento OnEnd. Neste exemplo estamos retirando o objeto conexao da memória, para liberar recursos no servidor Web.

<SCRIPT LANGUAGE=”VBScript” RUNAT.= “Server”>

Sub Application_OnEnd

        Set Application(“conexao”) = Nothing

End Sub

</SCRIPT>

Coleções do objeto Session

Na Tabela 8.5 temos a descrição das coleções do objeto Session.

Coleção Descrição
Contents Contém todos os itens que foram adicionados para uma Sessão, com exceção dos que foram declarados com a tag <OBJECT>. Todas as variáveis e objetos criados com Set, fazem parte desta coleção. Podemos usar a coleção Contents para obter uma lista de itens aos quais tenha sido atribuído escopo do sessão. É possível também remover os itens da coleção com os métodos Remove e RemoveAll. No próximo tópico falaremos sobre os métodos do objeto Application.
StaticObjects A coleção StaticObjects contém todos os objetos criados com as tags <OBJECT> dentro do escopo da Sessão. Podemos usar esta coleção para determinar o valor de uma propriedade específica de um objeto ou fazer iteração através da coleção e recuperar todas as propriedades de todos os objeto.

Tabela 8.5 As coleções do objeto Session.

Agora passaremos a estudar a sintaxe e alguns exemplos de utilização das coleções do objeto Session.

A coleção Contents

Para acessarmos um item da coleção Contents, utilizamos a seguinte sintaxe:

Session.Contents(Chave)

Onde Chave é o nome do item a ser recuperado.

Por exemplo, vamos supor que as seguintes variáveis tenham sido criadas no arquivo global.asa, no evento Application_OnStart

Session(“Var1”) = “José da Silva”

Session (“Var2”) = “Maria do Socorro”

Session (“HoraDia”) = Hour(Time( ))

Poderíamos exibir o valor destas variáveis utilizando o seguinte código:

<%

      Response.Write "Variáveis de nível de sessão.<HR>"

      Response.Write "Var1: " & Session.Contents("Var1")  & "<BR>"

      Response.Write "Var2: " & Session.Contents("Var2") & "<BR>"

      Response.Write "Hora do início da aplicação: " & Session.Contents("HoraDia") & "<BR>"

%>

O comando Session.Contents(“Var1”), retorna o valor da variável de sessão Var1, O comando Session.Contents(“Var2”), retorna o valor da variável de sessão Var2 e assim por diante.

Como estamos trabalhando com uma coleção, podemos utilizar o operador For Each...Next para percorrer todos os itens da coleção Contents. No exemplo de código a seguir, exibimos o nome de todos os elementos da coleção Contents.

<%

    For Each elemento in Session.Contents

           Response.Write “Nome do elemento: “ & elemento & “<BR>”

    Next

%>

Considere a Listagem 8.12, onde fazemos uso do operador For Each...Next para exibir o nome de todos os itens da coleção Contents do objeto Session.

Listagem 8.12 – Acessando os elementos da coleção Contents – contents2.asp.

1          <%@ Language=VBScript %>

2          <HTML>

3          <HEAD>

4          <TITLE>Utilizando a coleção Contents</TITLE>

5          </HEAD>

6          <BODY>

7          <HR>

8          <%

9             Response.Write "Elementos da coleção Contents. <HR>"

10           For Each elemento in Session.Contents

11                  Response.Write "Elemento: " & elemento & "<BR>"

12           Next

13           Response.Write "<HR>"

14        %>

15        </BODY>

16        </HTML>

Ao carregarmos esta página no Internet Explorer, obtemos o resultado indicado na Figura 8.20.

Curso Completo de ASP 3.0 - Júlio Battisti
Figura 8.20 Usando For Each...Next para exibir o nome dos elementos da coleção Contents.

Neste caso a página contents2.asp faz parte da aplicação que utiliza o arquivo global.asa da Listagem 8.10. Observe que inclusive o elemento conexao, o qual é um objeto do tipo Connection, faz parte da coleção Contents.

Poderíamos modificar a Listagem 8.6, para que além de exibir o nome de cada elemento, a mesma exibisse o valor de cada um dos elementos. Esta alteração está indicada na Listagem 8.12.

Listagem 8.12 – Exibindo o nome e o conteúdo dos elementos da coleção Contents.

1          <%@ Language=VBScript %>

2          <HTML>

3          <HEAD>

4          <TITLE>Utilizando a coleção Contents</TITLE>

5          </HEAD>

6          <BODY>

7          <HR>

8          <TABLE border=1 width=100%>

9              <TR>

10               <TD><B>Elemento</B></TD>

11               <TD><B>Valor</B></TD>

12            </TR>

13        <%

14           Response.Write "Elementos da coleção Contents. <HR>"

15           For Each elemento in Application.Contents %>

16           <TR>

17               <TD><% =elemento %> </TD>

18               <TD><% =Session.Contents(elemento)%></TD>

19          </TR>

20           <%

21           Next

22           Response.Write "<HR>"

23        %>

24        </TABLE>

25        </BODY>

26        </HTML>

Ao carregarmos esta nova versão da página, no Internet Explorer, obtemos o resultado indicado na Figura 8.21.

Curso Completo de ASP 3.0 - Júlio Battisti
Figura 8.21 Usando For Each...Next para exibir o nome e o conteúdo dos elementos da coleção Contents.

A coleção StaticObjects

Para acessarmos um item da coleção StaticObjects, utilizamos a seguinte sintaxe:

Session.StaticObjects(Chave)

Onde Chave é o nome do item a ser recuperado.

Como estamos trabalhando com uma coleção, podemos utilizar o operador For Each...Next para percorrer todos os itens da coleção Contents. No exemplo de código a seguir, exibimos o nome de todos os elementos da coleção StaticObjects.

<%

    For Each elemento in Session.StaticObjects

           Response.Write “Nome do elemento: “ & elemento & “<BR>”

    Next

%>

Agora que já conhecemos os eventos e coleções do objeto Application, vamos ao estudo dos métodos deste objeto.

Métodos do objeto Session

Na Tabela 8.6 temos a descrição dos métodos do objeto Session.

Método Descrição
Abandon O método Abandon elimina todos os objetos armazenados em um objeto Session e libera seus recursos. Se você não chamar o método Abandon explicitamente, o servidor eliminará esses objetos quando a sessão atingir seu tempo limite. Quando o método Abandon é chamado, o objeto Session atual é colocado em fila para exclusão, mas na verdade não é excluído até que todos os comandos de script da página atual tenham sido processados. Isso significa que você pode acessar as variáveis armazenadas no objeto Session na mesma página que utilizou o método Abandon, mas não em quaisquer páginas subseqüentes da aplicação Web.
Contents.Remove O método Session.Contents.Remove exclui um item especificado da coleção Contents. O método Contents.Remove considera uma seqüência de caracteres ou um inteiro como um parâmetro de entrada. Se o parâmetro de entrada for uma seqüência de caracteres, o método pesquisará a coleção Contents para localizar um item com esse mesmo nome e o removerá. Se o parâmetro de entrada for um inteiro, o método contará o número de itens equivalente a partir do início da coleção e removerá o item correspondente.
Contents.RemoveAll O método Session.Contents.RemoveAll remove todos os itens que foram adicionados à coleção Session.Contents.

Tabela 8.6 Os métodos do objeto Session.

Agora vamos analisar alguns exemplos de código que utilizam os métodos do objeto Application.

A sintaxe para o método Contents.Remove é a seguinte:

Session.Contents.Remove(Nome_da_Variável)

No exemplo a seguir são adicionadas três variáveis em nível de sessão. Depois utilizamos o método Contents.Remove para remover uma das variáveis.

<%

       Session("Nome") = Request.Form(“nome”)

       Session ("Idade")  = Request.Form(“idade”)

       Session ("ValorDolar")  = 1.72

       Session.Contents.Remove(Idade)

%>

A sintaxe para o método Contents.RemoveAll é a seguinte:

Session.Contents.RemoveAll( )

No exemplo a seguir são adicionadas três variáveis em nível de sessão. Depois utilizamos o método Contents.RemoveAll para remover todas as variáveis, inclusive variáveis que tenham sido adicionadas pela sessão do usuário, em outras páginas ASP da aplicação, ou através do arquivo global.asa utilizando o método Session_OnStart.

<%

       Session ("Nome") = Request.Form(“nome”)

       Session ("Idade")  = Request.Form(“idade”)

      Session ("ValorDolar")  = 1.72

      Session.Contents.RemoveAll( )

%>

A sintaxe para o método Abandon é a seguinte:

     Session.Abandon

Observe o exemplo a seguir, onde utilizamos o método Session.Abandon, porém após termos utilizado o método, definimos e exibimos uma variável em nível de sessão. Esta variável será exibida pois, conforme descrito anteriormente, a Sessão somente será destruída após todas as linhas de Script da página que chamou o método Session.Abandon terem sido executadas.

<%

  Session.Abandon

  Session("NomeUsuario") = "José da Silva"

  Response.Write “Nome do usuário: “ & Session ("NomeUsuario")

%>

O servidor cria um novo objeto Session quando você abre uma página subseqüente da aplicação Web depois de abandonar uma sessão. Você pode armazenar variáveis e objetos nesse novo objeto Session.

Agora vamos ao estudo das propriedades do objeto Session.

Propriedades do objeto Session

Na Tabela 8.7 temos a descrição das propriedades do objeto Session.

Propriedade Descrição
CodePage É uma propriedade de leitura e escrita, representada por um número inteiro. A propriedade CodePage determina a página de código que será usada para exibir o conteúdo dinâmico de uma página ASP. Uma página de código é um conjunto de caracteres que pode incluir números, marcas de pontuação e outros hieróglifos. Diferentes idiomas e locais podem usar diferentes páginas de código. Por exemplo, a página de código ANSI 1252 é usada para o inglês americano e a maioria dos idiomas europeus; a página de código OEM 932 é usada para o Kanji japonês.
LCID A propriedade LCID determina o identificador de local que será usado para exibir o conteúdo dinâmico.
SessionLD A propriedade SessionID retorna o identificador da sessão, um identificador exclusivo que é gerado pelo servidor quando a sessão é criada. Uma identificação da sessão é retornada como um tipo de dado LONG.
Timeout A propriedade TimeOut especifica o tempo limite de duração do objeto Session para esse aplicativo, em minutos. Se o usuário não atualizar ou solicitar uma página dentro do período de limite de tempo, a sessão é encerrada pelo Servidor IIS.

Tabela 8.7 Propriedades do objeto Session.

Vamos estudar mais alguns detalhes sobre estas propriedades.

A sintaxe para a propriedade CodePage é a seguinte:

     Session.CodePage = número_página_código

Por exemplo:

<%

     Session.CodePage = 1252

%>

Na Tabela 8.8 temos o número para algumas páginas de código.

Número Descrição
437 MS-DOS / EUA.
850 MS-DOS / Internacional.
1251 Windows / Rússia.
1252 Windows/ ANSI.
1253 Windows/ Grécia.
10000 Macintosh/ Padrão.

Tabela 8.8 Principais páginas de Código

A sintaxe para a propriedade LCID é a seguinte:

     Session.LCID = número_indicador_local

Por exemplo:

<%

     Session.LCID = 0816

%>

Este comando define as configurações de localidade para o Português de Portugal. O código para o Brasil é 0416.

As configurações de localidade definem diversas configurações, como por exemplo o símbolo da moeda, o número de casas decimais, o formato da data e da hora, etc. São as opções configuradas através do ícone Opções regionais do Painel de Controle. Para maiores detalhes sobre a configuração das Opções regionais, consulte o Capítulo 2 do livro “Série Curso Básico & Rápido Microsoft Windows 2000 Server”, de minha autoria e publicado pela editora Axcel Books.

A sintaxe para a propriedade SessionID é a seguinte:

     Session.SessionID

Por exemplo:

<%

     Response.Write “Identificador da sessão: “ & Session.SessionID

%>

Este comando retorna um resultado semelhante ao seguinte:

Identificador da Sessão: 117013627

O número varia, pois para cada sessão este número é gerado automaticamente pelo Servidor IIS.

Você não deve usar a propriedade SessionID para gerar valores de chave primária para um aplicativo de banco de dados. Porque se o servidor Web for reinicializado, alguns valores de SessionID poderão ser os mesmos daqueles gerados antes do servidor ser parado. Em vez disso, você deve usar os campos de Auto-incremento do próprio Banco de dados.

A sintaxe para a propriedade TimeOut é a seguinte:

     Session.TimeOut = minutos

Por exemplo:

<%

     Session.TimeOut = 20

%>

Este comando define o TimeOut da sessão para 20 minutos.

Com isso encerramos o estudo destes dois importantes objetos do ASP: Application e Session.


Promoção: Livro Windows Server 2012 R2 e Active Directory - Curso Completo, 2100 Páginas. Tudo para você se tornar um administrador de redes altamente qualificado para o mercado de trabalho e levar a sua carreira para o próximo nível!

Promoção: Livro Windows Server 2012 R2 e Active Directory

Curso Completo, 2100 páginas.

Tudo para você se tornar um administrador de redes altamente qualificado para o mercado de trabalho e levar a sua carreira para o próximo nível!

MAIS DETALHES | COMPRAR ESTE LIVRO


« Lição anterior Δ Página principal ¤ Capítulos Próxima lição »
Quer receber novidades e e-books gratuitos?

Cursos Online

  • Banco de Dados
  • Carreira
  • Criação/Web
  • Excel/Projetos
  • Formação
  • + Todas as categorias
  • Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434

    Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208

    Todos os direitos reservados, Júlio Battisti 2001-2019 ®

    [LIVRO]: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2010 - PASSO-A-PASSO

    APRENDA COM JULIO BATTISTI - 1124 PÁGINAS: CLIQUE AQUI