Você está aqui: ASP.NET ::: Dicas & Truques ::: Global.asax

O que é e como usar o arquivo Global.asax em suas aplicações ASP.NET

Quantidade de visualizações: 17459 vezes
O arquivo Global.asax, também chamado de arquivo de aplicação ASP.NET (ASP.NET application file) é um arquivo opcional que contém código a ser executado em resposta aos eventos à nível de aplicação ou sessão. Tais eventos são disparados pelo ASP.NET ou por módulos HTTP.

O arquivo Global.asax deve ser colocado no diretório raiz da aplicação ASP.NET. Em tempo de execução este arquivo é analisado e compilado em uma classe dinamicamente gerada e derivada da classe base HttpApplication. Além disso, o ASP.NET é configurado de forma a recusar qualquer requisição de URL diretamente para este arquivo, ou seja, usuários externos não conseguem efetuar download ou visualizar o código contido em um arquivo Global.asax.

Vamos então criar nosso primeiro arquivo Global.asax? Basta seguir os passos abaixo:

a) Se estiver usando o Visual Studio (com seu projeto ASP.NET já aberto) vá em File -> New File. Na janela de diálogo Add New Item você deverá selecionar o item "Global Application Class". Clique o botão Add e o arquivo Global.asax será criado no diretório raiz da aplicação (para verificar sua existência veja a relação de arquivos no Solution Explorer).

c) Se quiser criar o arquivo Global.asax "na mão mesmo", abra o Bloco de Notas e cole o código abaixo. Em seguida salve-o com o nome "Global.asax" na raiz da aplicação:

<%@ Application Language="C#" %>

<script runat="server">
  void Application_Start(object sender, EventArgs e) 
  {
    // Code that runs on application startup
  }
    
  void Application_End(object sender, EventArgs e) 
  {
    //  Code that runs on application shutdown
  }
        
  void Application_Error(object sender, EventArgs e) 
  { 
    // Code that runs when an unhandled error occurs
  }

  void Session_Start(object sender, EventArgs e) 
  {
    // Code that runs when a new session is started


Notamos no arquivo Global.asax que ele contém marcadores para quase uma dezena de métodos relacionados à aplicação e sessão. Veja uma breve descrição de cada um:

Application_Init - O evento Application_Init é disparado quando uma aplicação ASP.NET é inicializada pela primeira vez.

Application_Start - O evento Application_Start é disparado quando a aplicação ASP.NET é iniciada pela primeira vez.

Session_Start - O evento Session_Start é disparado quando uma nova sessão é criada e acessada pela primeira vez. Este evento é geralmente usado quando queremos inicializar alguma lógica de sessão.

Application_BeginRequest - O evento Application_BeginRequest é disparado cada vez que um nova requisição é efetuada.

Application_EndRequest - O evento Application_EndRequest é disparado cada vez que a aplicação finaliza o processamento da requisição.

Application_AuthenticateRequest - O evento Application_AuthenticateRequest indica que uma requisição está pronta para ser autenticada. Se estivermos usando Forms Authentication, este evento é um bom lugar para verificarmos os papéis e permissões do usuário.

Application_Error - O evento Application_Error é disparado quando um erro não gerenciado ocorre na aplicação.

Session_End - O evento Session_End é disparado quando uma sessão do usuário finalizada ou é expirada.

Application_End - O evento Application_End é disparado quando a aplicação ASP.NET é finalizada. Geralmente o usamos para efetuar alguma lógica de limpeza.

Vamos ver agora como podemos usar o arquivo Global.asax para guardar alguma informação no estado da aplicação (Application state). Para isso usaremos o evento Application_Start. Assim, abra seu arquivo Global.asax e modifique este evento para a versão mostrada a seguir:

void Application_Start(object sender, EventArgs e) {
  Application["mensagem"] = "Já estou pronta para trabalhar!";


Veja que aqui nós simplesmente adicionamos uma nova entrada no Application state chamada mensagem e com o valor "Já estou pronta para trabalhar!". Agora vá até a página Default.aspx e modifique-a para o código abaixo:

<%@ Page Language="C#" AutoEventWireup="true"  
CodeFile="Default.aspx.cs" Debug="true"
Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 
Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>Estudos ASP.NET</title>
</head>
<body>


Aqui nós temos um botão <asp:Button> e um rótulo <asp:Label>. Ao clicarmos no botão o valor da entrada no Application state será exibido no rótulo. Veja a implementação do evento Click do botão no arquivo de code-behind Default.aspx.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page {
  protected void Button1_Click(object sender, EventArgs e){


Execute a aplicação e veja o resultado. Quando a aplicação for iniciada uma entrada ""mensagem"" será adicionada ao Application state e, no clique do botão, o valor desta entrada é recuperado e exibido no <asp:Label>.

Link para compartilhar na Internet ou com seus amigos:

Veja mais Dicas e truques de ASP.NET

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 34 usuários muito felizes estudando em nosso site.