2008-12-23 6 views
3

Normalement, je crée des projets d'application web et j'utilise le code-behind, mais j'ai besoin de créer une petite application démo jetable en utilisant le code-inline.Pourquoi VS 2008 SP1 ne me laisse-t-il pas éditer global.asax?

J'ai ajouté un fichier global.asax à l'application, mais pour une raison étrange, Visual Studio 2008 SP1 ne me laisse pas modifier le code entre les balises de script, par exemple ajouter du code aux gestionnaires d'événements tels que Application_Start, Session_Start. VS me laisse cependant éditer en dehors des tags de script.

Ceci est juste une application web basée sur un fichier simple en utilisant le serveur Web intégré.

Des idées? Que se passe-t-il?

Ce code-ligne global.asax VS crée:

<%@ 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 
    } 

    void Session_End(object sender, EventArgs e) 
    { 
     // Code that runs when a session ends. 
     // Note: The Session_End event is raised only when 
     // the sessionstate mode 
     // is set to InProc in the Web.config file. 
     // If session mode is set to StateServer 
     // or SQLServer, the event is not raised. 
    } 
</script> 

Répondre

6

Ok, alors voici la réponse:

Vous pouvez voir une partie de l'explication here et here.

Fondamentalement, le fichier global.asax n'est pas compilé, donc VS2008 a mis un correctif pour vous empêcher de le modifier, puisque vos modifications n'auront aucun effet.

+0

Fab ... Je cherchais Google pour 'ne peux pas éditer global.asax' etc et il n'y avait même pas un indice de l'un ou l'autre de ces articles. – Kev

0

La seule fois que je vois ce genre de chose est de quand je suis en mode débogage, et je ne le savais pas. Semble assez basique, mais avez-vous vérifié cela?

+0

Aucun code n'est en cours d'exécution, il s'agit simplement d'un projet brut avec Default.aspx, Global.asax et web.config. Je n'ai même pas encore frappé le bouton de lecture. – Kev

1

Je ne pense pas que VS permette un script en ligne dans Global.asax. Vous devez placer le code dans Global.asax.cs à la place.

0

essayé avec le bouton droit de la souris -> afficher le code?

+0

Je suis en train de regarder le code. Voir la mise à jour de ma question – Kev

Questions connexes