Arquivo Global.asa ASP
- Página Anterior ASP #include
- Próxima Página E-mail ASP
O arquivo Global.asa é um arquivo opcional que pode conter declarações de objetos, variáveis e métodos que podem ser acessados por cada página do aplicativo ASP. Todos os scripts válidos de navegador podem ser usados no Global.asa.
Arquivo Global.asa
O arquivo Global.asa é um arquivo opcional que pode conter declarações de objetos, variáveis e métodos que podem ser acessados por cada página do aplicativo ASP. Todos os scripts válidos de navegador podem ser usados no Global.asa.
O arquivo Global.asa pode conter o seguinte conteúdo:
- Evento de Aplicação
- Evento de Sessão
- Declaração <object>
- Declaração de TypeLibrary
- Instrução #include
Comentários:O arquivo Global.asa deve ser armazenado no diretório raiz do aplicativo ASP e cada aplicativo pode ter apenas um arquivo Global.asa.
Evento no Global.asa
No Global.asa, podemos informar o que a aplicação e o objeto de sessão fazem ao iniciar e ao encerrar. O código para essa tarefa é colocado no manipulador de eventos. O arquivo Global.asa pode conter quatro tipos de eventos:
Application_OnStart - Este evento ocorre quando o primeiro usuário chama a primeira página do aplicativo ASP. Este evento ocorre quando o servidor web reinicia ou o arquivo Global.asa é editado. O evento "Session_OnStart" ocorre imediatamente após este evento.
Session_OnStart - Este evento ocorre sempre que um novo usuário solicita sua primeira página no aplicativo ASP.
Session_OnEnd - Este evento ocorre sempre que um usuário encerra sua sessão. Dentro do tempo definido (o evento padrão é de 20 minutos) sem solicitações de página, a sessão encerra.
Application_OnEnd - Este evento ocorre após o último usuário encerrar sua sessão. A situação típica é que este evento ocorra quando o servidor web para. Este subprograma é usado para limpar configurações após o encerramento do aplicativo, como excluir registros ou escrever informações em um arquivo de texto.
O arquivo Global.asa pode ser semelhante a este:
<script language="vbscript" runat="server"> sub Application_OnStart 'algum código fim sub sub Application_OnEnd 'algum código fim sub sub Session_OnStart 'algum código fim sub sub Session_OnEnd 'algum código fim sub </script>
Comentários:Devido ao fato de não poder usar o delimitador de script do ASP (<% e %>) para inserir scripts no arquivo Global.asa, precisamos usar o elemento HTML <script>.
Declaração <object>
Você pode criar objetos com escopo de sessão ou aplicação usando a tag <object> no arquivo Global.asa.
Comentários:O标签 <object> deve estar fora do tag <script>.
Sintaxe:
<object runat="server" scope="scope" id="id" {progid="progID"|classid="classID"}> .... </object>
Parâmetro | Descrição |
---|---|
escopo | Defina o escopo (ou alcance) do objeto (Sessão ou Aplicação). |
id | Especifique um id único para o objeto. |
ProgID |
ID associado ao ClassID. O formato do ProgID é: [Vendor.]Componente[.Versão]. O ProgID ou ClassID deve ser especificado. |
ClassID |
Especifique um id único para o objeto da classe COM. O ProgID ou ClassID deve ser especificado. |
instância
A primeira instância cria um objeto chamado "MyAd" usando o parâmetro ProgID e define o escopo como session:
<object runat="server" escopo="session" id="MyAd" progid="MSWC.AdRotator" </object>
A segunda instância cria um objeto chamado "MyConnection" usando o parâmetro ClassID:
<object runat="server" escopo="application" id="MyConnection" classid="Clsid:8AD3067A-B3FC-11CF-A560-00A0C9081C21" </object>
Os objetos declarados neste arquivo Global.asa podem ser usados por qualquer script do aplicativo.
GLOBAL.ASA:
<object runat="server" escopo="session" id="MyAd" progid="MSWC.AdRotator" </object>
Você pode referenciar o objeto "MyAd" em qualquer página do ASP aplicativo:
Um arquivo .ASP:
<%=MyAd.GetAdvertisement("/banners/adrot.txt")%>
Declaração de TypeLibrary
TypeLibrary (Biblioteca de Tipos) é um contêiner que contém os arquivos DLL correspondentes aos objetos COM. Ao incluir chamadas para TypeLibrary no Global.asa, é possível acessar constantes dos objetos COM, e o código ASP também pode relatar erros de forma mais eficiente. Se o aplicativo do seu site depende de objetos COM cujos tipos foram declarados na biblioteca de tipos, você pode declarar a biblioteca de tipos no Global.asa.
Sintaxe:
<!--METADATA TYPE="TypeLib" file="filename" uuid="typelibraryuuid" version="versionnumber" lcid="localeid" -->
Parâmetro | Descrição |
---|---|
file | Define o caminho absoluto para a biblioteca de tipos. Parâmetros file ou uuid, ambos são obrigatórios. |
uuid | Define um identificador único para a biblioteca de tipos. Parâmetros file ou uuid, ambos são obrigatórios. |
version | Opcional. Usado para escolher a versão. Se a versão especificada não for encontrada, será usada a versão mais próxima. |
lcid | Opcional. Identificador regional da biblioteca de tipos. |
Valor de erro
O servidor retornará uma das seguintes mensagens de erro:
Erro | Código | Descrição |
---|---|---|
ASP | 0222 | Especificação inválida da biblioteca de tipos |
ASP | 0223 | Type library not found |
ASP | 0224 | Type library cannot be loaded |
ASP | 0225 | Type library cannot be wrapped |
Comentários:A etiqueta METADATA pode estar em qualquer lugar do arquivo Global.asa (tanto dentro quanto fora da etiqueta <script>). No entanto, ainda recomendamos colocar a etiqueta METADATA no topo do arquivo Global.asa.
Limitações
Limitações sobre o conteúdo que pode ser referenciado no arquivo Global.asa:
Você não pode exibir o texto do arquivo Global.asa. Este arquivo não pode exibir informações.
Você pode usar os objetos Server e Application apenas nos subrotinas Application_OnStart e Application_OnEnd. No subrotina Session_OnEnd, você pode usar os objetos Server, Application e Session. No subrotina Session_OnStart, você pode usar qualquer objeto interno.
Como usar subrotinas
Global.asa é frequentemente usado para inicializar variáveis.
O exemplo a seguir mostra como detectar o tempo exato de chegada do visitante ao site. O tempo é armazenado no objeto Session chamado "started", e o valor da variável "started" pode ser acessado por qualquer página ASP no aplicativo:
<script language="vbscript" runat="server"> sub Session_OnStart Session("started")=now() fim sub </script>
Global.asa também pode ser usado para controlar o acesso às páginas.
O exemplo a seguir mostra como redirecionar cada novo visitante para outra página, neste exemplo será redirecionado para a página "newpage.asp":
<script language="vbscript" runat="server"> sub Session_OnStart Response.Redirect("newpage.asp") fim sub </script>
Também podemos incluir funções no Global.asa.
No exemplo a seguir, quando o servidor web é iniciado, também é iniciado o subrotina Application_OnStart. Em seguida, o subrotina Application_OnStart chama outro subrotina chamado "getcustomers". O subrotina "getcustomers" abre um banco de dados e então pega um conjunto de registros da tabela "customers". Este conjunto de registros é atribuído a um array, então qualquer página ASP pode acessar este array sem consultar o banco de dados:
<script language="vbscript" runat="server"> sub Application_OnStart getcustomers fim sub sub getcustomers set conn=Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open "c:/webdata/northwind.mdb" set rs=conn.execute("select name from customers") Application("customers")=rs.GetRows rs.Close conn.Close fim sub </script>
Instância Global.asa
Neste exemplo,我们要创建一个可以计算当前访客数量的 Global.asa 文件。
Application_OnStart define o valor da variável Application "visitors" para 0 ao iniciar o servidor.
Cada vez que um novo usuário visitar, o subrotina Session_OnStart adicionará 1 ao valor da variável "visitors".
Cada vez que o subrotina Session_OnEnd for acionada, este subrotina subtrairá 1 do valor da variável "visitors".
Arquivo Global.asa:
<script language="vbscript" runat="server"> Sub Application_OnStart Application("visitors")=0 Fim Sub Sub Session_OnStart Application.Lock Application("visitors")=Application("visitors")+1 Application.UnLock Fim Sub Sub Session_OnEnd Application.Lock Application("visitors")=Application("visitors")-1 Application.UnLock Fim Sub </script>
Este arquivo ASP exibirá o número atual de usuários:
<html> <head> </head> <body> <p>Existem <%response.write(Application("visitors"))%> online agora!</p> </body> </html>
- Página Anterior ASP #include
- Próxima Página E-mail ASP