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

我向应用程序添加了 global.asax 文件,但出于某种奇怪的原因,Visual Studio 2008 SP1 不允许我编辑脚本标记之间的任何代码,即将代码添加到事件处理程序,例如 Application_StartSession_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>

最佳答案

好的,这里是答案:

你可以看到 herehere 的部分解释。

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

关于asp.net - 为什么 VS 2008 SP1 不允许我编辑 global.asax?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/388971/

10-13 07:56