[C#][2.0] Comment utiliser le Global.asax ?
Bonjour,
J'utilise Visual Studio 2005 et j'aimerais utiliser les fonctionnalités du global.asax.
Pour l'instant, je voudrais juste positionner une variable d'application au lancement de l'application et l'afficher dans ma page de lancement, histoire de comprendre le fonctionnement.
Autre chose : par défaut, lors de la création de mon application Web, le global.asax n'était pas associé à un .cs. Je l'ai donc créé "à la main" en ajoutant le CodeBehind="Global.asax.cs".
Voici à quoi ressemble mon fichier global.asax.cs :
Code:
1 2 3 4 5 6 7
| using System;
public class Global : System.Web.HttpApplication {
protected void Application_Start(Object sender, EventArgs e) {
Application["test"] = "test";
}
} |
Seulement, quand j'essaie d'afficher Application["test"] dans un label, je n'ai rien. :?
Pourriez vous m'expliquer ?
Merci d'avance
Stéphanie
Re: [C#][2.0] Global.asax ...
Citation:
le global.asax n'était pas associé à un .cs. Je l'ai donc créé "à la main" en ajoutant le CodeBehind="Global.asax.cs".
Salut, pourquoi voudrais tu absolument créer un fichier .cs ? Ca m'a pertubé aussi au début mais en fait, si ça a été conçu comme ça, c'est qu'il doit y avoir une bonne raison. De plus, si ma mémoire est bonne, en V1.0, global.asax seul (sans codebehind) ne servait pas à gd chose de toute façon.
Code:
1 2 3
| protected void Application_Start(Object sender, EventArgs e) {
Application["test"] = "test";
} |
Citation:
Seulement, quand j'essaie d'afficher Application["test"] dans un label, je n'ai rien. :?
Moi, ça marche (dans textbox).
Citation:
Par ailleurs, je redémarre le service IIS pour être sûre de déclencher le Application_Start, est ce correct ?
Application_Start se déclenche au démarrage de ton appli et non au redémarrage de IIS, qui lui recycle aspnet_wp (aspnet worker process). Mets un point d'arrêt et tu verras.
Re: [C#][2.0] Global.asax ...
Citation:
Envoyé par quanou
Application_Start se déclenche au démarrage de ton appli et non au redémarrage de IIS, qui lui recycle aspnet_wp (aspnet worker process). Mets un point d'arrêt et tu verras.
Ok mais je ne comprends pas ce qu'est une "application" Web et quand est ce qu'elle "redémarre". Que faut il faire pour qu'elle "redémarre" ?
Sinon, j'ai supprimé la page global.asax.cs.
Le code de ma page global.asax est le suivant :
Code:
1 2 3 4 5 6 7
| <%@ Application Inherits="EASY.Global" Language="C#" %>
<script RunAt="server">
protected void Application_Start(Object sender, EventArgs e)
{
Application["test"] = "test";
}
</script> |
et cela ne fonctionne toujours pas !! J'ai lancé mon application en debug et je n'y passe pas.
Re: [C#][2.0] Global.asax ...
Citation:
Ok mais je ne comprends pas ce qu'est une "application" Web et quand est ce qu'elle "redémarre". Que faut il faire pour qu'elle "redémarre" ?
Ben, quand tu lance ton application en debug par exemple.
J'ai :
Code:
<%@ Application Language="C#" %>
au lieu de :
Code:
<%@ Application Inherits="EASY.Global" Language="C#" %>
Citation:
J'ai lancé mon application en debug et je n'y passe pas.
En dernier recours, reprends un fichier Global.asax original, celui avant tous tes copier/coller.
C'est obligé que ça passe par Application_Start