Почему VS 2008 SP1 не позволяет мне редактировать global.asax? - PullRequest
3 голосов
/ 23 декабря 2008

Обычно я создаю проекты веб-приложений и использую code-behind, но у меня есть требование создать небольшое одноразовое демонстрационное приложение с использованием code-inline.

Я добавил файл global.asax в приложение, но по какой-то странной причине Visual Studio 2008 SP1 не позволяет мне редактировать любой код между тегами сценария, т.е. добавлять код в обработчики событий, например Application_Start Session_Start. VS, однако, позволяет мне редактировать вне тегов скрипта.

Это простое файловое веб-приложение, использующее встроенный веб-сервер.

Есть идеи, что происходит?

Это встроенный код global.asax VS создает:

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

Ответы [ 4 ]

6 голосов
/ 23 декабря 2008

Хорошо, вот ответ:

Вы можете увидеть часть объяснения здесь и здесь .

По сути, файл global.asax на самом деле не компилируется, поэтому VS2008 внес исправление, чтобы вы не могли его изменить, поскольку ваши изменения не будут иметь эффекта.

1 голос
/ 23 декабря 2008

Я не думаю, что VS разрешает встроенный скрипт в Global.asax. Вместо этого вам нужно поместить код в Global.asax.cs.

0 голосов
/ 23 декабря 2008

пробовал щелкнуть правой кнопкой мыши -> просмотреть код?

0 голосов
/ 23 декабря 2008

Единственный раз, когда я видел подобные вещи, это когда я нахожусь в режиме отладки, и я этого не осознавал. Кажется довольно простой, но вы проверили это?

...