.NET

1 out, 2001

O global.asax

Publicidade

O global.asax
é muito parecido com o globa.asa do ASP, suporta um arquivo
declarativo global por aplicação para os eventos da aplicação
e o estado.

Duas coisas importantes em que o global.asax
se difere do global.asa são: Os novos eventos e as
diretivas. Por exemplo, quem já mexe com o global.asa irá
achar esse exemplo muito familiar.

O Arquivo de aplicação global.asax
reside no Internet Information Services o espaço virtual,
ele é uma aplicação no IIS. Se o global.asax
residir em um diretório onde a aplicação usada não se encontra,
ele será ignorado.

Veremos agora como usar o
global.asa e o global.asax
em conjunto. Esses 2 arquivos, como vocês sabem, residem no
IIS ou em espaços virtuais. Embora os dois possam ficar no
mesmo espaço virtual ou diretório, suas definições serão aplicadas
independente uma da outra.

As definições do global.asa
serão aplicadas nos arquivos de aplicação ASP, e as do global.asax
nos arquivos de aplicações ASP.NET.

A atualização de arquivo do global.asax
é uma mudança em relação ao ASP pois o ASP+ detecta
automaticamente quando as alterações no arquivo de aplicação
global.asax são gravadas no disco
e responde completando todas as solicitações atuais para a
aplicação, inicializando o devido evento final da aplicação
e então reiniciando a aplicação. Isso reinicializará efetivamente
a aplicação (enviando todo o estado) e fará com que
o ASP.NET recompile o global.asax
assim como chame os devidos eventos iniciais da aplicação
na próxima solicitação.

É bom saber que quando as atualizações
são feitas no global.asax, a
aplicação está constantemente disponível para o usuário final.
Não há nenhuma inatividade quando as aplicações são reinicializadas.
Isso é uma ótima mudança em relação ao ASP.

Mudando de Assunto, o global.asax
pode conter várias seções de código:

Diretivas de Aplicação ;
Declarações de Eventos ;
Declarações das marcas dos objetos
;
Inclusões no lado do servidor ;

Para finalizar, falaremos sobre os 4 tipos
de códigos que podemos colocar no arquivo Global.Asax.

Começando pelas diretivas de aplicação que
usamos em várias situações. Existem três:

1.
Aplication:
A diretiva application define os atributos específicos
para a instância da classe global.asax. Farei 2 exemplos para
entendermos melhor com os 2 atributos:

Exemplo1 – Inherits: Ele especicifica a classe
de base para o global.asax herdar: Você pode criar a sua
própria classe a partir da qual o globa.asax herdará:

<%@Application Inherits=”LojaApp.Application”%>

Exemplo2 – Description: Ele permite adicionar
notas ou comentários ao global.asax e é ignorado quando o
arquivo for compilado:

<%@
Application Description=”Um exemplo de global.Asax”%>

2. Import:

O Import serve para permitir o uso das classes
NGWS* sem ter que declarar o namespace completo para a classe.
Veja o exemplo:

O espaço de nome:

System.NET.Webrequest

No lugar disso, usaremos só o System.NET que
tem um conjunto de classes equivalentes a essas:

<%@ Import NameSpace=”System.NET”
%>

Tendo esse espaço de nome, podemos escrever
o seguinte código(C#):

WebRequest webreq = Web
RequestFactory.Create(“Http://www.microsoft.com”)
Sem o System.NET teriamos que usar:
System.NET.Webrequest webreq =
new System.NET.WebRequestFactory.Create(“Http://www.microsoft.com”)

Isso torna o código menor e mais legível.

3. Assembly:
O Assembly permite especificar um arquivo assembly
para um determinado espaço do nome. Você usará a diretiva
Assembly quando quiser usar assemblies, como System.NET que
não estão disponiveis por default.

Veja o exemplo:

<%@Assembly
name=”System.NET.DLL” %>

Declarações de Eventos:

Os eventos tornam a nossa vida mais fácil.
Pois ao em vez de escrever vários blocos de if/then temos
eles. O Global.asax suporta mais de 15 tipos de eventos é
em bem fácil de usar veja o exemplo(C#):

public
void Application_OnBeginRequest(Object Sender, EventArgs E)
{
‘Codigo
}

Declarações das marcas de objetos:

As marcas de objetos permitem declarar e instanciar
a aplicação e os objetos da sessão no global.asax, usando
uma sintaxe declarativa baseada em marcas. O tipo de objeto
a criar é identificado em 3 marcas explicadas na parte de
atributos. Primeiro veja como usar:

progrid=”Classic Com ProgrId” scope=”session”>

Agora explicarei os atributos:

ID: O nome exclusivo a declarar o objeto na
aplicação

Runat: Tem que ser definido para “server” para
o objeto a executar no ASP.NET

Scope: Determina onde o objeto
reside podem ser application para aplicações , sessions para
sessões e appinstance permitindo que cada aplicação receba
sua própria instância do objeto.

[Class,ProgId,ClassId]: Determina qual tipo
de objeto é criado .

Inclusões no lado do servidor:

As inclusões feitas no lado do servidor são
feitas para inserir seções de código em um arquivo. Veja como
usá-las:

to file]”–>

Abraço!