Como podemos usar global.asax no asp.net? E o que é isso?
Como podemos usar global.asax no asp.net? E o que é isso?
Respostas:
O MSDN apresenta uma descrição da finalidade do arquivo global.asax.
Efetivamente, global.asax permite que você escreva um código que é executado em resposta a eventos de "nível de sistema", como o início do aplicativo, o término de uma sessão, a ocorrência de um erro de aplicativo, sem ter que tentar enfiar esse código em cada página do seu site.
Você pode usá-lo escolhendo Add> New Item> Global Application Class no Visual Studio. Depois de adicionar o arquivo, você pode adicionar o código em qualquer um dos eventos listados (e criados por padrão, pelo menos no Visual Studio 2008):
Existem outros eventos aos quais você também pode se conectar, como "LogRequest".
Explicação de eventos globais de asax
Application_Init: disparado quando um aplicativo é inicializado ou chamado pela primeira vez. É invocado para todas as instâncias do objeto HttpApplication.
Application_Disposed: disparado pouco antes de um aplicativo ser destruído. Este é o local ideal para limpar recursos usados anteriormente.
Application_Error: Disparado quando uma exceção não tratada é encontrada no aplicativo.
Application_Start: disparado quando a primeira instância da classe HttpApplication é criada. Ele permite que você crie objetos que são acessíveis por todas as instâncias de HttpApplication.
Application_End: Disparado quando a última instância de uma classe HttpApplication é destruída. Ele é disparado apenas uma vez durante a vida útil de um aplicativo.
Application_BeginRequest: Disparado quando uma solicitação de aplicativo é recebida. É o primeiro evento disparado para uma solicitação, que geralmente é uma solicitação de página (URL) que um usuário insere.
Application_EndRequest: o último evento disparado para uma solicitação de aplicativo.
Application_PreRequestHandlerExecute: disparado antes que a estrutura da página ASP.NET comece a executar um manipulador de eventos como uma página ou serviço da Web.
Application_PostRequestHandlerExecute: disparado quando a estrutura da página ASP.NET termina de executar um manipulador de eventos.
Applcation_PreSendRequestHeaders: disparado antes que a estrutura da página ASP.NET envie cabeçalhos HTTP para um cliente solicitante (navegador).
Application_PreSendContent: disparado antes que a estrutura da página ASP.NET envie conteúdo para um cliente solicitante (navegador).
Application_AcquireRequestState: disparado quando a estrutura da página ASP.NET obtém o estado atual (estado da sessão) relacionado à solicitação atual.
Application_ReleaseRequestState: disparado quando a estrutura da página ASP.NET conclui a execução de todos os manipuladores de eventos. Isso faz com que todos os módulos de estado salvem seus dados de estado atuais.
Application_ResolveRequestCache: disparado quando a estrutura da página ASP.NET conclui uma solicitação de autorização. Ele permite que os módulos de cache atendam à solicitação do cache, evitando assim a execução do manipulador.
Application_UpdateRequestCache: disparado quando a estrutura da página ASP.NET conclui a execução do manipulador para permitir que os módulos de cache armazenem respostas a serem usadas para lidar com solicitações subsequentes.
Application_AuthenticateRequest: Disparado quando o módulo de segurança estabeleceu a identidade do usuário atual como válida. Neste ponto, as credenciais do usuário foram validadas.
Application_AuthorizeRequest: disparado quando o módulo de segurança verifica que um usuário pode acessar os recursos.
Session_Start: disparado quando um novo usuário visita o site do aplicativo.
Session_End: Disparado quando a sessão de um usuário atinge o tempo limite, termina ou ele sai do site do aplicativo.
O arquivo Global.asax, também conhecido como arquivo de aplicativo ASP.NET, é um arquivo opcional que contém código para responder a eventos de nível de aplicativo e de sessão gerados pelo ASP.NET ou por módulos HTTP.
Global.asax é o arquivo de aplicativo asp.net.
É um arquivo opcional que lida com eventos gerados pelo ASP.NET ou por HttpModules. Principalmente usado para eventos de início / término de aplicativo e sessão e para tratamento de erros globais.
Quando usado, deve estar na raiz do site.
O diretório raiz de um aplicativo da web tem um significado especial e determinado conteúdo pode estar presente nessa pasta. Ele pode ter um arquivo especial denominado “Global.asax”. A estrutura ASP.Net usa o conteúdo do global.asax e cria uma classe em tempo de execução que é herdada de HttpApplication. Durante a vida útil de um aplicativo, o ASP.NET mantém um pool de instâncias HttpApplication derivadas de Global.asax. Quando um aplicativo recebe uma solicitação http, a estrutura da página ASP.Net atribui uma dessas instâncias para processar essa solicitação. Essa instância é responsável por gerenciar todo o tempo de vida da solicitação à qual está atribuída e a instância só pode ser reutilizada depois que a solicitação for concluída, quando for retornada ao pool. Os membros da instância em Global.asax não podem ser usados para compartilhar dados entre solicitações, mas o membro estático pode ser. Global.
O Global.asax pode ser usado para manipular eventos decorrentes do aplicativo. Este link fornece uma boa explicação: http://aspalliance.com/1114