HOME | GUIA ASP | NOTÍCIAS | LIVRO DE VISITAS

 67.643 visitas desde 18-10-2000

Terça-Feira, 7 de Setembro de 2010 

Pesquisar Guia ASP
>>
Dicas de Pesquisa

Join WebHost4Life.com

  Bem Vindo!
  Abordagem às ASP
  Requisitos para as ASP
  Escrever no Browser
  Declarar Variáveis
  If
  For ... Next
  For Each Objecto In Colecção ... Next
  While ... Wend
  Select Case
  And, Or, Not
  Subrotinas
  Funções
  Inclusões
  Introdução ao Modelo de Objectos
  Request
  ServerVariables
  Response
  Server
  Session
  Application
  Ficheiro Global.asa
  Request.Form
  Request.QueryString
  Get vs. Post
  Listar Registos
  Inserir Registos
  Actualizar Registos
  Eliminar Registos
  Declarações e Operadores
  Verificar Dados
  Converter Dados
  Funções de Formatação
  Funções Matemáticas
  Funções Data
  Constantes Data
  Constantes Dia Semana
  Strings
  Outras Funções
  Estruturas de Controlo
  Introdução SQL
  Select
  Inner Join e Outer Join
  Valores Calculados e Cláusula Group By
  Insert
  Update
  Delete
  Introdução ADO
  Objecto Connection
  Objecto Recordset
  Objecto Field
  Introdução COM
  TextStream
  Componentes de E-mail
  Mapa do Guia ASP

 

 

<< Application | Request.Form >>

modelo de objectos > ficheiro global.asa


. : : . ficheiro global.asa . : : .

  O ficheiro global.asa é, acima de tudo, uma tecnologia importante para certas soluções on-line, e que é uma das armas das ASP em relação a outras linguagens semelhantes. Quando entramos num site com servidor IIS, existem 4 fases distintas no seu processamento:

1 - o primeiro utilizador entra e o servidor fica alerta;
2 - o utilizador começa uma nova sessão, e essas sessões que ele cria são as que utilizamos para variáveis globais, e para definir o tempo de acção das mesmas.
3 - o utilizador sai do site e a sua sessão acaba;
4 - o último utilizador do site sai e o servidor Internet deixa de estar alerta.

O ficheiro global.asa, é um controlador dos acessos ao site. Este ficheiro tem apenas 4 funções distintas: a primeira é aquela que é activada quando o site fica activo; a segunda é activada por cada vez que entra um utilizador; a terceira é activada por cada vez que sai um utilizador do site; e a quarta é activada quando o site deixa de ter utilizadores. Desta maneira, podemos criar código dentro de cada uma destas zonas para nosso benefício. Por exemplo, queres que seja introduzido num ficheiro de texto o endereço IP de cada utilizador que entra no site. Basta escrever dentro da segunda função do ficheiro global.asa o código que cria essa linha no ficheiro de controlo, para teres a certeza que cada acesso é registado. Ou se quiseres saber quanto tempo cada utilizador passa em média no site, basta criares um registo de tempo de entrada na segunda função, e um na terceira função, e mais tarde fazeres DateDiff() para sabermos a média que cada utilizador gasta no site.

O esquema de um ficheiro global.asa é o seguinte:

<SCRIPT LANGUAGE="VBScript" RUNAT="Server">

Sub Application_OnStart
    'algum codigo
End Sub

Sub Session_OnStart
    'algum codigo
End Sub

Sub Session_OnEnd
    'algum codigo
End Sub

Sub Application_OnEnd
    'algum codigo
End Sub

</SCRIPT>

Notas:
    1 -
como deves ter reparado, no ficheiro global.asa não se usam os delimitadores ASP <% e %>. Para inserir scripts neste ficheiro, têm de se colocar as subrotinas dentro das etiquetas html <script> e </script>;
   2 - para que este ficheiro funcione, tem de ser colocado no directório principal do site (em termos do explorador do windows, na raíz), caso contrário não funcionará.

  Para testares a potencialidade deste ficheiro podes experimentar saber quantos utilizadores estão de momento no site. Para isso basta criares uma variável que se incrementa no procedimento Session_OnStart, e que se decrementa no procedimento Session_OnEnd. Desta maneira se estiverem 4 utilizadores ao mesmo tempo no site a variável será 4. Se um deles sair passará a ser 3 pois houve uma sessão que acabou. Da mesma maneira, por cada utilizador que entre no site essa mesma variável irá ser incrementada. Passando da teoria à prática, aqui está um exemplo do ficheiro global.asa, que suportará o controlo dos acessos ao site:

<SCRIPT LANGUAGE="VBScript" RUNAT ="Server">

Sub Application_OnStart
    Session.Timeout = 3
    Application.Lock
    Application("utilizadores") = 0
    Application.UnLock
End Sub

Sub Session_OnStart
    Application.Lock
    Application("utilizadores") = Application("utilizadores") + 1
    Application.UnLock
End Sub

Sub Session_OnEnd
    Application.Lock
    Application("utilizadores") = Application("utilizadores") - 1
    Application.UnLock
End Sub

</SCRIPT>

  Agora, uma pequena explicação da execução deste script:

    1 - Em Application_OnStart, defini o tempo que vai durar cada sessão. Se o utilizador ficar inactivo durante 3 minutos, a função Session_OnEnd activa-se e processa uma saída do site. De seguida tranquei a variável, de maneira a que possa ser alterada sem perder os dados que já contém. Inicializei a variável a zero, e destranquei a variável após esta ter sido alterada.
    2 - Em Session_OnStart, tranquei a variável, incrementei o valor da variável, e destranquei a variável.
    3 - Em Session_OnEnd, tranquei a variável, decrementei o valor da variável, e destranquei a variável.

  Para mostrares no browser o resultado do ficheiro global.asa, podes usar o seguinte exemplo:

<html>
<head>
</head>
<body>
<p>
Existem neste momento <b> <%response.write(Application("utilizadores"))%> </b> utilizadores on-line!
</p>
</body>
</html>

  A partir daqui, podes pensar em fazer aplicações que respondam às tuas necessidades. Podes testar o ficheiro global.asa no Personal Web Server que funciona na perfeição, mas quando pensares em colocar o ficheiro global.asa no teu servidor de internet, verifica primeiro se esse servidor suporta este ficheiro. Até hoje, ainda não encontrei nenhum servidor gratuito que o suportasse. Por isso procura, e se achares avisa-me!

<< Application | Request.Form >>

powered by
nrwebdesign.com

 

 

copyright © 2000/2010 - SafeMode WebArts - todos os direitos reservados

site optimizado para IE 5+, resolução de 800x600 e ligação RDIS ou ISDN

www.safemode.pt.vu produzido por nrwebdesign.com