【问题标题】:How to exit an ASP.NET application gracefully when stopping debugging in VS 2010?在 VS 2010 中停止调试时如何优雅地退出 ASP.NET 应用程序?
【发布时间】:2012-01-10 09:40:45
【问题描述】:

我使用 VS 2010 开发和调试一个 ASP.NET 应用程序。我的 ASP.NET 应用程序与其他机器上的其他应用程序保持一些连接。当我停止调试时,我希望释放这些连接。如果这没有发生,这些其他应用程序将失败,我必须重新启动它们。

最后我将我的终止代码存储在 Global.asax.cs 的 Application_End 方法中,但是停止调试时不会调用这个。

有没有办法终止我的 ASP.NET 应用程序的调试,这样就不会立即杀死所有内容,而是调用最后一个方法来添加我的终止代码?

【问题讨论】:

  • 让建立与其他机器的连接的调用稳定,这样您就不必重新启动其他应用程序不是更好吗?
  • 发布您的代码 - 您是如何打开连接的? “与其他机器上的其他应用程序的连接”是什么意思 - 这是如何实现的?
  • 当然,让连接(.Net Remoting)稳定会更好,但目前这是不可能的,因为我无权访问其他应用程序的代码。我只能重新启动它们。

标签: asp.net visual-studio-2010 debugging application-end


【解决方案1】:

我不确定你的问题是什么,但可能......

您可以通过按 F5 来初始化调试会话,从而通过 cassini 进行调试。这样,当您结束调试会话时,应用程序就会终止。

如果您有一个已配置的 IIS 应用程序,您可以简单地附加到正在运行的进程 - 通常是“CTRL + ALT + P” - 选择 w3wp.exe(注意要检查底部的复选框)。这样,您的应用不会在调试会话结束时终止。

它能解决你的问题吗?

【讨论】:

    【解决方案2】:

    我误解了调试 ASP.NET 应用程序的工作原理。我认为当我停止调试(通过按 Shift+F5)时,ASP.NET 应用程序被终止并且不再执行任何代码行。这是我对为什么不调用 Application_End 方法的解释。

    但实际上 ASP.NET 应用程序在调试器分离时继续运行,因此不会调用 Application_End 方法。

    【讨论】:

      猜你喜欢
      • 2023-03-22
      • 2013-07-21
      • 1970-01-01
      • 1970-01-01
      • 2012-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多