Latest web development tutorials

ASP Global.asa

arquivo Global.asa

arquivo Global.asa é um arquivo opcional que pode conter declarações são aplicações ASP sujeitas todas as páginas acedidas, variáveis ​​e métodos.

Todos os scripts do navegador legítimos (JavaScript, VBScript, JScript, PerlScript etc.) podem ser usados ​​no Global.asa.

Global.asa arquivo pode conter apenas o seguinte:

  • Eventos de aplicativo
  • sessão Evento
  • <Object> instrução
  • Declaração TypeLibrary
  • diretiva #include

Nota: arquivo Global.asadeve ser armazenada no diretório raiz do aplicativo ASP, e cada aplicação pode ter apenas um arquivo Global.asa.


eventos global.asa

Em Global.asa você pode dizer os objetos de aplicação e de sessão quando a aplicação / sessão começando o que fazer, o que fazer quando o fim da aplicação / sessão. O código para realizar esta tarefa é colocada no manipulador de eventos. arquivo Global.asa pode conter quatro tipos de eventos:

Application_OnStart - Este evento ocorre quando um usuário chama o primeiro aplicativo de primeira página ASP.Este evento irá reiniciar o servidor Web ou que ocorram após o arquivo Global.asa é editado. "Session_OnStart" evento ocorre após este evento ocorre imediatamente.

Session_OnStart - Este evento ocorre sempre que um novo usuário solicita-lo (la) em um aplicativo ASP na primeira página.

Session_OnEnd - Este evento ocorre sempre que a sessão do usuário final.Se o usuário não solicitar qualquer página, a sessão do usuário vai acabar dentro de um tempo pré-determinado (o tempo padrão é 20 minutos).

Application_OnEnd - Este evento depois que o usuário termina a sua última sessão ocorre.Normalmente, o evento ocorre quando o servidor Web está parado. Esta sub-rotina é usado após a aplicação para parar Configurações da remoção, como registros de apagar ou gravar informações em um arquivo de texto.

Um arquivo Global.asa pode parecer:

<script language="vbscript" runat="server">

sub Application_OnStart
'some code
end sub

sub Application_OnEnd
'some code
end sub

sub Session_OnStart
'some code
end sub

sub Session_OnEnd
'some code
end sub

</script>

Nota: Uma vez que não podemos usar os delimitadores de script ASP (<% e%>) inserir scripts no arquivo Global.asa, precisamos lidar com rotina colocado no HTML <script> elemento dentro.


<Object> instrução

Pode tag <object> para criar objetos com escopo Session ou aplicativo no arquivo Global.asa usando.

NOTA: <object> marca deve estar na tag <script> fora!

gramática

<object runat="server" scope="scope" id="id" {progid="progID"|classid="classID"}>
....
</object>

参数 描述
scope 设置对象(Session 或 Application)的作用域。
id 为对象指定一个唯一的 id。
ProgID 与 ClassID 关联的 id。ProgID 的格式是:[Vendor.]Component[.Version]。

ProgID 或 ClassID 必需被指定。

ClassID 为 COM 类对象指定一个唯一的 id。

ProgID 或 ClassID 必需被指定。

Exemplos

A primeira instância usando o parâmetro ProgID para criar um objeto de escopo de sessão chamada "MyAd" de:

<object runat="server" scope="session" id="MyAd" progid="MSWC.AdRotator">
</object>

A segunda instância é criada usando o espaço de aplicação parâmetro ClassID objetos chamados "MyConnection" de:

<object runat="server" scope="application" id="MyConnection"
classid="Clsid:8AD3067A-B3FC-11CF-A560-00A0C9081C21">
</object>

Objetos declarados no arquivo Global.asa pode ser qualquer script de aplicação:

GLOBAL.ASA:

<object runat="server" scope="session" id="MyAd" progid="MSWC.AdRotator">
</object>

您可以从 ASP 应用程序中的任意页面引用 "MyAd" 对象:

某个 .ASP 文件:

<%=MyAd.GetAdvertisement("/banners/adrot.txt")%>


Declaração TypeLibrary

TypeLibrary (tipo de biblioteca) é um recipiente que compreende um correspondentes arquivos DLL objeto COM. Ao incluir uma chamada para TypeLibrary no arquivo Global.asa, você pode acessar as constantes do objeto COM, eo código ASP também mais capaz de relatar erros. Se seu aplicativo da Web baseia-se em tipos de dados de objetos COM declaradas em uma biblioteca de tipos, você pode digitar bibliotecas em comunicado Global.asa.

gramática

<!--METADATA TYPE="TypeLib"
file="filename" uuid="id" version="number" lcid="localeid"
-->

参数 描述
file 规定指向类型库的绝对路径。

file 参数或者 uuid 参数,两者缺一不可。

uuid 规定了类型库的唯一的标识符。

file 参数或者 uuid 参数,两者缺一不可。

version 可选。用于选择版本。如果没有找到需要的版本,将使用最接近的版本。
lcid 可选。用于类型库的地区标识符。

valor de erro

O servidor retorna um dos seguinte mensagem de erro:

错误代码 描述
ASP 0222 无效的类型库规范
ASP 0223 没有找到类型库
ASP 0224 无法加载类型库
ASP 0225 无法包装类型库

Nota: tag de metadadosno arquivo global.asa em qualquer lugar (dentro e fora da tag <script> pode ser) aparece. No entanto, ainda recomendamos METADATA tag colocada no topo do arquivo Global.asa.


limitado

Sobre o ficheiro Global.asa pode ser referenciado no conteúdo definido:

  • arquivo Global.asa que você não pode exibir o texto. Este arquivo não pode exibir informações.
  • Você só pode usar Server e Aplicação objetos Application_OnStart e Application_OnEnd sub-rotinas. Na sub-rotina Session_OnEnd, você pode usar Server, Aplicação e objetos de sessão. Na sub-rotina Session_OnStart, você pode usar qualquer objeto embutido.

Como usar sub-rotinas

Global.asa comumente usado para inicializar variáveis.

O exemplo a seguir demonstra como para detectar o momento exato de visitantes do site da Web chega pela primeira vez. Tempo é armazenado no objeto de sessão com o nome "começou", e o valor de "iniciado" variável pode ser qualquer vista ASP página do aplicativo:

<script language="vbscript" runat="server">
sub Session_OnStart
Session("started")=now()
end sub
</script>

Global.ASA também pode ser utilizado para controlar o acesso à página.

O exemplo a seguir mostra como redirecionar a cada novo visitante para outra página, neste caso, será direcionado para uma página "newpage.asp" chamado:

<script language="vbscript" runat="server">
sub Session_OnStart
Response.Redirect("newpage.asp")
end sub
</script>

Você pode incluir funções no arquivo Global.asa.

No exemplo a seguir, quando o servidor Web é iniciado, Application_OnStart sub-rotina será iniciado. Então, Application_OnStart chama outro sub-rotina chamada "GetCustomers" sub-rotina. "GetCustomers" sub-rotina abre um banco de dados e recupera um conjunto de registros da tabela de "clientes". Este registro é atribuído a um conjunto de montagem, sem consultar o banco de dados, todas as páginas ASP para acessar a matriz:

<script language="vbscript" runat="server">

sub Application_OnStart
getcustomers
end 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
end sub

</script>


exemplos Global.asa

Neste exemplo, vamos criar um cálculo do número atual de visitantes arquivo Global.asa.

  • Quando o servidor for iniciado, Application_OnStart definir "visitantes" a variável de aplicação é 0.
  • Sempre que um novo visitantes vêm visitar, Session_OnStart sub-rotina será para as variáveis ​​"visitantes" mais um.
  • Sempre que Session_OnEnd sub-rotina é acionado, a sub-rotina irá subtrair os "visitantes" variáveis ​​1.

arquivo Global.asa:

<script language="vbscript" runat="server">

Sub Application_OnStart
Application("visitors")=0
End Sub

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

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

</script>

No arquivo ASP que exibe o número atual de visitantes:

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p>There are <%response.write(Application("visitors"))%> online now!</p>
</body>
</html>