web-dev-qa-db-fra.com

Où se trouve le fichier Global.asax.cs?

J'utilise VS 2008. J'ai créé un nouveau projet de site Web Asp.net à partir de Fichier-> Nouveau-> Site Web-> Site Web Asp.net.

Maintenant, je veux ajouter le fichier Global.asax ainsi que le fichier .cs au projet. Je fais donc un clic droit sur le projet -> Ajouter un nouvel élément-> Classe d'application globale. J'ai ensuite cliqué sur le bouton ajouter.

Le fichier Global.asax a été ajouté avec le contenu comme sous

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

C'est bon. Mais où est le fichier Global.asax.cs?

Merci

45
apurva

C'est parce que vous avez créé un site Web au lieu d'une application Web. Le cs/vb les fichiers ne peuvent être vus que dans une application Web, mais dans un site Web, vous ne pouvez pas avoir un cs/vb fichier.

Edit: Dans le site Web, vous pouvez ajouter un comportement de fichier cs comme ..

<%@ Application CodeFile="Global.asax.cs" Inherits="ApplicationName.MyApplication" Language="C#" %>

~/Global.asax.cs:

namespace ApplicationName
{
    public partial class MyApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
        }
    }
}
31
Muhammad Akhtar

Il ne crée pas normalement; vous devez l'ajouter vous-même.

Après avoir ajouté Global.asax par

  • Clic droit sur votre site Web -> Ajouter un nouvel élément -> Classe d'application globale -> Ajouter

Vous devez ajouter une classe

  • Clic droit sur App_Code -> Ajouter un nouvel élément -> Classe -> nommez-le Global.cs -> Ajouter

Hériter du nouveau généré par System.Web.HttpApplication et copiez toutes les méthodes créées Global.asax à Global.cs et ajoutez également un attribut hérité au fichier Global.asax.

Votre Global.asax ressemblera à ceci: -

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

Votre Global.cs dans App_Code ressemblera à ceci: -

public class Global : System.Web.HttpApplication
{
    public Global()
    {
        //
        // TODO: Add constructor logic here
        //
    }

    void Application_Start(object sender, EventArgs e)
    {
        // Code that runs on application startup

    }
    /// Many other events like begin request...e.t.c, e.t.c
}
53
Waqas Raja