Quel est le but de global.asax dans asp.net

100

Comment pouvons-nous utiliser global.asax dans asp.net? Et qu'est ce que c'est que ça?

Harikrishna
la source

Réponses:

119

MSDN a un aperçu de l'objectif du fichier global.asax.

En effet, global.asax vous permet d'écrire du code qui s'exécute en réponse à des événements "au niveau du système", tels que le démarrage de l'application, une fin de session, une erreur d'application se produisant, sans avoir à essayer de mettre ce code dans chaque page de votre site.

Vous pouvez l'utiliser en choisissant Ajouter> Nouvel élément> Classe d'application globale dans Visual Studio. Une fois que vous avez ajouté le fichier, vous pouvez ajouter du code sous l'un des événements répertoriés (et créés par défaut, au moins dans Visual Studio 2008):

  • Application_Start
  • Application_Fin
  • Session_Start
  • Session_Fin
  • Demande_BeginRequest
  • Application_AuthenticateRequest
  • Erreur d'application

Il existe d'autres événements auxquels vous pouvez également vous connecter, tels que "LogRequest".

Rob
la source
2
L'entrée pour global.asax a été supprimée de Wikipédia.
Cathy Sullivan
Pouvons-nous ajouter un fichier global.asax pour le formulaire Windows?
Jeeva Jsb
@JeevaJsb, non. Le contenu de global.asax est (généralement) des événements qui sont déclenchés par le cycle de vie de l'application IIS / ASP.net afin qu'il n'y ait rien pour déclencher le code dans une application WinForms.
Rob
Je me demande pourquoi ils ne peuvent pas avoir simplement un code héritant de la classe HttpApplication et ne nécessitant pas le fichier asax. Le fichier global.asax.cs contient toutes les informations, alors pourquoi le besoin d'un fichier asax spécifique ne contenant que ce <% @ Application Codebehind = "Global.asax.cs" Inherits = "XXXXX" Language = "C #"%>
Simple Fellow
67

Explication des événements mondiaux asax

Application_Init: déclenché lorsqu'une application s'initialise ou est appelée pour la première fois. Il est appelé pour toutes les instances d'objet HttpApplication.

Application_Disposed: déclenché juste avant la destruction d'une application. C'est l'endroit idéal pour nettoyer les ressources précédemment utilisées.

Application_Error: déclenché lorsqu'une exception non gérée est rencontrée dans l'application.

Application_Start: déclenché lorsque la première instance de la classe HttpApplication est créée. Il vous permet de créer des objets accessibles par toutes les instances HttpApplication.

Application_End: déclenché lorsque la dernière instance d'une classe HttpApplication est détruite. Il n'est déclenché qu'une seule fois pendant la durée de vie d'une application.

Application_BeginRequest: déclenché lorsqu'une demande d'application est reçue. C'est le premier événement déclenché pour une demande, qui est souvent une demande de page (URL) saisie par un utilisateur.

Application_EndRequest: dernier événement déclenché pour une demande d'application.

Application_PreRequestHandlerExecute: déclenché avant que l'infrastructure de page ASP.NET ne commence à exécuter un gestionnaire d'événements comme une page ou un service Web.

Application_PostRequestHandlerExecute: déclenché lorsque l'infrastructure de page ASP.NET a terminé d'exécuter un gestionnaire d'événements.

Applcation_PreSendRequestHeaders: déclenché avant que l'infrastructure de page ASP.NET envoie les en-têtes HTTP à un client demandeur (navigateur).

Application_PreSendContent: déclenché avant que l'infrastructure de page ASP.NET envoie le contenu à un client demandeur (navigateur).

Application_AcquireRequestState: déclenché lorsque l'infrastructure de page ASP.NET obtient l'état actuel (état de session) lié à la demande actuelle.

Application_ReleaseRequestState: déclenché lorsque l'infrastructure de page ASP.NET termine l'exécution de tous les gestionnaires d'événements. Cela conduit tous les modules d'état à enregistrer leurs données d'état actuel.

Application_ResolveRequestCache: déclenché lorsque l'infrastructure de page ASP.NET termine une demande d'autorisation. Il permet aux modules de mise en cache de servir la requête à partir du cache, contournant ainsi l'exécution du gestionnaire.

Application_UpdateRequestCache: déclenché lorsque l'infrastructure de page ASP.NET termine l'exécution du gestionnaire pour permettre aux modules de mise en cache de stocker les réponses à utiliser pour gérer les demandes suivantes.

Application_AuthenticateRequest: déclenché lorsque le module de sécurité a établi l'identité de l'utilisateur actuel comme valide. À ce stade, les informations d'identification de l'utilisateur ont été validées.

Application_AuthorizeRequest: déclenché lorsque le module de sécurité a vérifié qu'un utilisateur peut accéder aux ressources.

Session_Start: déclenché lorsqu'un nouvel utilisateur visite le site Web de l'application.

Session_End: déclenché lorsque la session d'un utilisateur expire , se termine ou quitte le site Web de l'application.

Nithin Paul
la source
11

Le fichier Global.asax, également appelé fichier d'application ASP.NET, est un fichier facultatif qui contient du code pour répondre aux événements au niveau de l'application et au niveau de la session déclenchés par ASP.NET ou par des modules HTTP.

http://msdn.microsoft.com/en-us/library/2027ewzw.aspx

Shoban
la source
6

Global.asax est le fichier d'application asp.net.

Il s'agit d'un fichier facultatif qui gère les événements déclenchés par ASP.NET ou par HttpModules. Principalement utilisé pour les événements de début / fin d'application et de session et pour la gestion globale des erreurs.

Lorsqu'il est utilisé, il doit être à la racine du site Web.

Oded
la source
3

Le répertoire racine d'une application Web a une signification particulière et certains contenus peuvent être présents dans ce dossier. Il peut avoir un fichier spécial appelé «Global.asax». Le framework ASP.Net utilise le contenu de global.asax et crée une classe au moment de l'exécution qui est héritée de HttpApplication. Pendant la durée de vie d'une application, ASP.NET gère un pool d'instances HttpApplication dérivées de Global.asax. Lorsqu'une application reçoit une demande http, la structure de page ASP.Net affecte l'une de ces instances pour traiter cette demande. Cette instance est responsable de la gestion de la durée de vie entière de la demande à laquelle elle est affectée et l'instance ne peut être réutilisée qu'une fois la demande terminée lorsqu'elle est renvoyée au pool. Les membres d'instance dans Global.asax ne peuvent pas être utilisés pour partager des données entre les demandes, mais le membre statique peut l'être. Global.

sandeep mvn
la source
1

Le Global.asax peut être utilisé pour gérer les événements découlant de l'application. Ce lien fournit une bonne explication: http://aspalliance.com/1114

Mat
la source