Где находится файл Global.asax.cs? - PullRequest
45 голосов
/ 09 июня 2011

Я использую VS 2008. Я создал новый проект веб-сайта Asp.net из File-> New-> Website-> Asp.net Website.

Теперь я хочу добавить в проект файл Global.asax, а также файл .cs. Поэтому я щелкаю правой кнопкой мыши по проекту -> Добавить новый элемент-> Глобальный класс приложения. Затем я нажал на кнопку добавления.

Был добавлен файл Global.asax с содержанием, указанным в

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

Это хорошо. Но где находится файл Global.asax.cs?

Спасибо

Ответы [ 2 ]

53 голосов
/ 09 июня 2011

Это не создает нормально; вам нужно добавить его самостоятельно.

После добавления Global.asax к

  • Щелкните правой кнопкой мыши свой веб-сайт -> Добавить новый элемент -> Глобальный класс приложений -> Добавить

Вам необходимо добавить класс

  • Правый клик App_Code -> Добавить новый элемент -> Класс -> назвать его Global.cs -> Добавить

Наследуйте вновь созданный System.Web.HttpApplication и скопируйте все методы, созданные Global.asax в Global.cs, а также добавьте атрибут наследования в файл Global.asax.

Ваш Global.asax будет выглядеть так: -

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

Ваш Global.cs в App_Code будет выглядеть следующим образом: -

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
}
31 голосов
/ 09 июня 2011

Это потому, что вы создали веб-сайт вместо веб-приложения.Файлы cs/vb можно увидеть только в веб-приложении, но на веб-сайте у вас не может быть отдельного файла cs/vb.

Редактировать: На веб-сайте вы можете добавитьповедение файла cs как ..

<%@ 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()
        {
        }
    }
}
...