【问题标题】:Why so many instances of ASP.NET Development Server?为什么有这么多 ASP.NET 开发服务器实例?
【发布时间】:2011-04-12 15:13:35
【问题描述】:

我正在调试一个大型 Web 应用程序解决方案,主 Web 应用程序项目作为单个启动项目,配置为使用 IIS 进行调试。每当我在 Visual Studio 2010 中运行此应用程序时,我仍然会启动 ASP.NET 开发服务器的多个实例(有时超过 15 个)。为什么会出现这种情况?

【问题讨论】:

  • 这个答案会很有趣:)

标签: asp.net visual-studio visual-studio-2010


【解决方案1】:

默认情况下,Visual Studio 在每个 Web 项目的属性中都有一个设置,用于在调试时启动开发服务器。例如,当您选择要启动的客户端网站或应用程序时,这使包含 Web 服务的 Web 项目可用。

如果您不希望出现这种情况,请按照以下步骤操作:

  1. 选择网络项目
  2. F4打开“属性”窗口
  3. Always Start When Debugging 值更改为False
  4. 对解决方案中的任何其他 Web 项目重复步骤 1-3

来源:'"Always Start When Debugging" – Preventing multiple Visual Studio Development Servers from starting' by by Kevin Rintoul

【讨论】:

  • 这很棒。多年来,它一直让我发疯。
  • @EricJ。我明白为什么会这样。项目属性表配置项目文件本身(构建配置等)中包含的属性,但是 F4 属性是 Visual Studio 处理项目的方式。略有不同。
【解决方案2】:

simple solution 如果您在同一个解决方案中有许多 Web 项目:从包管理器控制台:

get-project -all | %{ $_.Properties | ?{ $_.Name -eq "WebApplication.StartWebServerOnDebug" } | %{ $_.Value = $False} }

这将使用单个命令将所有 Web 项目 Always Start When Debugging 设置更改为 false。

【讨论】:

    【解决方案3】:

    我的设置和你的类似(除了我使用 CassiniDev (http://cassinidev.codeplex.com/))

    转到所有辅助站点项目属性:点击“使用自定义Web服务器”,在“服务器网址”中设置一些内容(例如http://your-iis-server:your_port/your_project,但它甚至可能无效)..

    这将阻止 Cassini 为辅助网站自动启动。

    让您的主站点保持原始配置。

    【讨论】:

      猜你喜欢
      • 2011-05-14
      • 2012-10-08
      • 2014-08-04
      • 1970-01-01
      • 1970-01-01
      • 2019-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多