3

通常我创建 Web 应用程序项目并使用代码隐藏,但我需要使用内联代码创建一个小型一次性演示应用程序。

我在应用程序中添加了一个 global.asax 文件,但出于某种奇怪的原因,Visual Studio 2008 SP1 不允许我编辑脚本标记之间的任何代码,即向事件处理程序添加代码,Application_Start例如Session_Start. 然而,VS 确实让我在脚本标签之外进行编辑。

这只是一个使用内置 Web 服务器的简单的基于文件的 Web 应用程序。

有什么想法吗?

这是内联代码 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

4 回答 4

6

好的,所以这是答案:

您可以在此处此处查看部分说明。

基本上 global.asax 文件实际上并没有被编译,因此 VS2008 进行了修复以防止您对其进行修改,因为您的修改将无效。

于 2008-12-23T14:40:52.303 回答
1

我认为 VS 不允许在 Global.asax 中使用内联脚本。您需要将代码放在 Global.asax.cs 中。

于 2008-12-23T14:33:09.120 回答
0

我唯一一次看到这种事情是在我处于调试模式时,我没有意识到。看起来很基本,但你检查过吗?

于 2008-12-23T14:30:38.033 回答
0

尝试右键单击-> 查看代码?

于 2008-12-23T14:35:45.090 回答