Configurando aplicações ASP.NET - Parte I

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (2)  (1)

Configurando aplicações ASP.NET - Parte I
Global.asax

Veremos neste artigo uma breve introdução à configuração de aplicativos web na arquitetura ASP.NET, utilizando o arquivo Global.asax. Nos próximos artigos veremos o arquivo Web.config, Permissões no ASP.NET e exemplos práticos da utilização dos arquivos em nossas aplicações Web.

Global.asax

Cada aplicativo construído na arquitetura ASP.NET, pode conter um arquivo chamado Global.asax. O Global.asax é uma arquivo de texto com as mesmas características de um arquivo .aspx, ele é responsável pela configuração de eventos de aplicação e de sessão. Ele é um arquivo opcional, o que significa que, podemos criar aplicações onde os eventos de aplicação e de sessão não serão tratados.

O Global.asax, possui uma estrutura e uma sintaxe bastante semelhante ao antigo Global.asa. Como o ASP.NET consegue "rodar" código ASP antigo, para manter a compatibilidade com sistemas existentes, da mesma forma podemos ter os arquivos Global.asax e Global.asa, em uma mesma aplicação. Mas nessas situações - os dois arquivos coexistindo -, quando uma página .aspx for solicitada pelo usuário, é o arquivo Global.asax que será processado, e vice-versa.

Como veremos mais adiante, o Global.asax pode conter códigos, que serão executados em respostas a eventos (de aplicação ou de sessão). Como qualquer outro arquivo de código, em .NET, o Global.asax será compilado para IL. A compilação dos arquivos de configuração ocorre sempre que a aplicação é iniciada, e só será recompilado quando houver modificações.

O arquivo Global.asax, deve ser criado no diretório raiz da aplicação. Se o arquivo for gerado em outro sub diretório ele será ignorado.

Estrutura de um Global.asax

A estrutura de um arquivo Global.asax, é composta de elementos que assim como o próprio arquivo, são opcionais. Sendo assim, os elementos omitidos na construção do arquivo, apenas deixaram de ser tratados. A construção do Global.asax é composta pelos seguintes elementos:

  • Diretivas de Aplicação: Essas diretivas de aplicação, modificam ou acrescentam parâmetros a compilação de páginas ASP.NET.
  • Implementação de código: Podemos definir métodos que responderam aos eventos gerados pela aplicação.
  • Declaração de Objetos: Neste elemento, temos a possibilidade de declarar variáveis de sessão em um formato de tag, semelhante a declaração de WebControls em páginas ASP.NET.
  • Server-Side Include: É possível especificar arquivos à serem incluídos dentro do Global.asax.

Diretivas de Aplicação

As diretivas de aplicação são semelhantes às encontradas em páginas .aspx. As diretivas devem ser declaradas no início dos arquivos Global.asax. Observe o código abaixo a utilização da diretiva Import, que importa o Namespace "System.Data.OleDb".

<%@ Import Namespace="System.Data.OleDb" %>

Quando importamos um Namespace dentro do Global.asax, estamos disponibilizando as classes do Namespace para todas as páginas da aplicação, automatizando a tarefa de importar o mesmo Namespace em todas as páginas. Na declaração abaixo estaremos definindo a diretiva Application, com duas opções Inherits e Description. O atributo Inherits nos permite definir uma classe, da qual o Global.asax irá herdar suas funcionalidades (como padrão o Global.asax deriva da classe System.Web.HttpApplication).

<%@ Application Inherits="Namespace.Classe" %>

O outro atributo da diretiva Application, serve para definir uma descrição da aplicação. O Description pode ser utilizado como um simples comentário:

<%@ Application Description="Exemplo - Porta WebMobile" %>

A diretiva Assembly serve para importar uma DLL, disponibilizando o seu código dentro do Global.asax. Isso pode ser necessário quando trabalhamos com a arquitetura de três camadas, em que temos código encapsulado em um Assembly.

<%@ Assembly Name="Componente.dll" %>

Implementação de código

Este elemento do Global.asax, nos permite escrever código em resposta aos eventos gerados pela aplicação. A estrutura de um bloco de código no Global.asax é semelhante aos códigos implementados em páginas .aspx, e devem seguir o formato a seguir:

<script Language="Linguagem" src="Arquivo externo" runat="server">
...
Código
...
</script>

Na arquitetura do ASP.NET, novos eventos foram criados, nos dando a possibilidade de trata-los dentro do Global.asax - No ASP antigo, estes eventos eram tratados nas próprias páginas -. Segue abaixo uma listagem de eventos que podem ser tratados no ASP.NET.

<script Language="C#" runAt="server">

protected void Application_Start(Object sender, EventArgs e)
{
//Evento disparado quando a aplicação é iniciada.

}


protected void Session_Start(Object sender, EventArgs e)
{
//Evento disparado quando a uma sessão é iniciada.
}

protected void Application_BeginRequest(Object sender, EventArgs e)
{
//Evento disparado antes da requisição de uma página.
}

protected void Application_EndRequest(Object sender, EventArgs e)
{
//Evento disparado depois da requisição de uma página.
}

protected void Application_AuthenticateRequest(Object sender, EventArgs e)
{
//Evento disparado quando uma requisição feira por um usuário é autorizada.

}

protected void Application_Error(Object sender, EventArgs e)
{
//Evento disparado quando uma ocorre uma exceção na aplicação.

}

protected void Session_End(Object sender, EventArgs e)
{
//Evento disparado quando a sessão é finalizada.
}

protected void Application_End(Object sender, EventArgs e)
{
//Evento disparado quando uma aplicação é finalizada.

}

</script>

Declaração de Objetos

Dentro do Global.asax, temos a possibilidade de declarar objetos, que pertencerão à aplicação, ou à sessão do usuário. Estes objetos deveram ser declarados no formato de tag - <object> </object> -, Observe o seguinte bloco de código, vamos declarar uma objeto DataSet que pertencerá a sessão do usuário:

<object id="objDS" class="System.Data.DataSet" scope="Session" runat="server">

</object>

Como citado acima, o objeto objDS será disponibilizado na sessão do usuário. Dessa forma, poderemos acessa-lo pelo objto Session como no código a seguir:

DataSet objDS = Session["objDS"] as DataSet;

Server-Side Include

Este elemento do Global.asax, permite a inclusão de códigos de arquivos externos em páginas .aspx. A utilização do Include no ASP.NET, é semelhante à no ASP antigo. Um arquivo pode ser incluído de duas maneiras, pelo seu path (caminho) ou URL. Os arquivos do tipo Include devem ter a extensão .inc ou .aspx. Observe a utilização deste recurso no código abaixo:

<!--#include file="teste.inc" --> ou <!--#include virtual="teste.aspx" -->

Os arquivos do tipo Include são úteis, quando queremos definir um template a ser utilizado em outras páginas ou projetos. Os arquivos do tipo Include são processados antes de serem dispostos nas páginas aspx.

Conclusão

Este foi nosso primeiro artigo sobre como configurar as nossa aplicações web. Aguardem os próxmos artigos onde iremos construir exemplos práticos destas configurações.

Espero ter ajudado!

 

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?