【问题标题】:Why does Application_Start run in Cassini but not in IIS7?为什么 Application_Start 在 Cassini 中运行但在 IIS7 中不运行?
【发布时间】:2009-04-19 12:34:41
【问题描述】:

我有一个正在 Cassini 中开发的 ASP.NET 3.5 sp1 应用程序。该应用程序包含一个应该运行一些代码的 global.asax 文件 - 它在 Cassini 中运行良好,但在 IIS 中,调试器永远不会命中该函数。为什么这段代码不运行?

【问题讨论】:

    标签: asp.net iis cassini application-start


    【解决方案1】:

    也许在 Cassini 中,应用程序在 Cassini 启动时启动。在 II7 中,一个服务,应用程序已经启动,当你启动调试器时,VS 只附加了调试器。您可以尝试在 IIS 控制台中启动调试器并回收池以查看应用程序是否重新启动?

    【讨论】:

      【解决方案2】:

      您要手动将调试器附加到 w3wp.exe 进程?很可能您只是太晚了,并且 Application_Start 在调试器附加时已经运行。

      【讨论】:

      • 我在 Visual Studio 中按 F5 来获取附件。我在其他项目中看到过这项工作,所以这不是一个“为时已晚”的问题。
      【解决方案3】:

      您确定代码没有被执行,还是因为您只是附加到进程太晚,以至于调试器无法使用它?我建议在该方法中添加一些日志记录以确保。

      【讨论】:

        【解决方案4】:

        我发现在 IIS7 中运行的 WCF Web 项目存在同样的问题。 Application_Start() 中的第一行代码是一个记录器写入,我从来没有得到它。此外,应该在 Application_Start 上初始化的其他对象永远不会被创建,并且我的其余代码因此而失败。有人对此有任何了解吗?它在 Cassini 中运行良好...

        【讨论】:

        • 试试这个 grue - 在你的 global.asax.cs 文件中定义一个类级别的私有变量并在构造函数中新建它。坚持某些状态似乎偶尔会修复它。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-01-11
        • 2013-06-26
        • 1970-01-01
        • 1970-01-01
        • 2020-05-16
        相关资源
        最近更新 更多