【问题标题】:stop development server when i stop debugging当我停止调试时停止开发服务器
【发布时间】:2009-08-26 14:03:50
【问题描述】:

在 Visual Studio 中停止调试时如何自动停止开发 Web 服务器?

【问题讨论】:

  • 为什么需要这样做?它不像 WinForm 环境。在 Web 应用程序中,您可以在开发服务器仍在运行时编辑代码,然后点击刷新并查看更改。
  • 我希望它停止,因为在开发服务器运行时应用程序仍在工作
  • 这怎么可能?除非你有一些客户端代码继续?
  • 当应用程序启动时,它会创建一个线程来做一些工作,并且只要开发服务器正在运行,该线程就会一直运行
  • 我在一台机器上遇到了相反的问题。在 Visual Studio 的调试中按停止时,我的开发服务器停止。我只是看到你的帖子是因为我没有试图为我的特定问题找到解决方案。

标签: c# asp.net visual-studio-2008 cassini webdev.webserver


【解决方案1】:

Workaround: Debugging Global.aspx.cs Application_Start() with ASP.Net Web Server within Visual Studio

在 Web 服务器项目上启用“编辑并继续”对我有用。停止调试时它不会关闭 cassini,但在开始调试时会重新启动 cassini。

【讨论】:

  • 我启用了编辑并继续,当我停止调试时它关闭了 Cassini。我正在运行 x64 - 也许这就是与众不同的地方。 @mat3 - 你运行的是 x86 还是 x64?
  • 我认为它正在停止导致 cassini 关闭的调试会话。但我认为它实际上是在编辑一个需要从 TFS 中签出的文件,这会导致重新加载项目,这才是真正的罪魁祸首。
  • 和 mco 一样发生在我身上:当我停止调试器时,启用 Edit and Continue 确实会停止 Cassini。我在 VS2010 x64 上,不知道这是否适用于 VS2008(根据原始问题)。这对基于 Entity Framework 的应用程序有很大帮助,当您需要(在开发的早期阶段)频繁地删除整个数据库时,它可以保持与 DBMS 的连接。
【解决方案2】:

当您点击“停止调试”按钮时,无法让 Asp.Net 开发服务自动停止,因为所做的只是分离调试器。但是,您可以自己显式终止该进程(这反过来会导致 VS 停止调试)。

这个问题展示了如何在宏中做到这一点:

Automatically stop/restart ASP.NET Development Server on Build

或者看看 mat3 关于如何在每次开始调试时强制重新启动开发服务器的答案(尽管在您完成调试会话后它仍然会保持运行,直到您下次运行 probject)。

【讨论】:

    【解决方案3】:

    另一个技巧是在构建后事件上更新 web.config 时间戳。您可以在我对Can Visual Studio restart IIS Express on new debugging session? 问题的回答中找到详细说明。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多