为什么这么多的ASP.NET开发服务器实例?

时间:2011-04-12 15:13:35

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

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

3 个答案:

答案 0 :(得分:37)

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

如果您不想要此行为,请按以下步骤操作:

  1. 选择网络项目
  2. F4
  3. 打开“属性”窗口
  4. Always Start When Debugging值更改为False
  5. 对解决方案中的任何其他Web项目重复步骤1-3
  6. 来源:'"Always Start When Debugging" – Preventing multiple Visual Studio Development Servers from starting' by by Kevin Rintoul

答案 1 :(得分:1)

如果您在同一解决方案中有许多Web项目,则为simple solution:来自Package Manager控制台:

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

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

答案 2 :(得分:0)

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

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

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

将主站点保留为原始配置。