在 VS2010 中停止在 IIS 上调试 Web 应用程序需要很长时间
Posted
技术标签:
【中文标题】在 VS2010 中停止在 IIS 上调试 Web 应用程序需要很长时间【英文标题】:Stop debugging web application on IIS in VS2010 takes long 【发布时间】:2011-01-03 13:15:03 【问题描述】:每当我停止调试 ASP.NET IIS Web 应用程序时,VS2010 似乎需要很长时间才能再次响应(2 或 3 分钟)。当我关闭 Internet Explorer 9(这会停止调试会话)、停止在 VS 中调试(这会关闭浏览器)或当我从调试菜单中分离调试器(这会使浏览器保持打开状态)时,会发生这种情况。
在此期间,我的 devenv.exe 的 CPU 时间上升了 25%。我使用专业版(没有智能跟踪)。当我关闭浏览器时,无需调试即可启动。我安装了一些加载项和扩展,例如 TestDriven.NET、Resharper、PowerCommands、Productivity Power Tools、VisualSVN……
有什么想法会导致这个烦人的问题吗?我可以尝试禁用哪些功能?
【问题讨论】:
你有一个四核(或双+HT)CPU,对吧?所以 25% 真的是单核的 100% 吗?澄清一下:这是调试 IIS,而不是 Cassini(ASP.NET Web 服务器)? 抱歉没有注意到,四核确实在 Windows 7 上使用 IIS 7 调试... 【参考方案1】:您需要通过在 safe mode 中运行 Visual Studio 来缩小范围。这将禁用所有第 3 方扩展。
如果问题消失了,则说明您的某个扩展程序存在问题。尝试一次启用它们。
如果问题没有消失,那就是 VS2010 的问题。在 Connect 上提交错误。另外,请尝试预发布的 VS2010 SP1,看看它是否已经修复。
【讨论】:
奇怪,安全模式运行顺畅,所以我禁用了所有扩展和加载项,并按照你说的尝试。现在一切都再次启用,问题消失了...... 禁用扩展并重新启用它可能会导致它丢弃缓存的元数据或其他内容。问题可能会再次出现。老实说,像我一样热爱它,我的钱都花在了 ReSharper 上。 我就是这么想的。也许偶尔从 /safemode 开始也可以解决这个问题?【参考方案2】:您是否尝试过关闭时钟附近的(asp.net Web 服务器)托盘图标?通常,网络服务器会导致 Visual Studio 挂起。
【讨论】:
我没有使用内置的 Web 开发服务器(又名 WebDev.WebServer.exe),而是使用 IIS 7 进行开发和调试。原因是我使用了一个 WCF“后端”,我还需要调试它,只有在一个进程中同时拥有“前端”和“后端”时才会发生这种情况,所以我需要 IIS 来共享一个应用程序池。即使我调用 iisreset.exe,程序仍然没有响应。此外,高 CPU 时间让我相信 VS 实际上是在做某事而不是等待超时。但这可能是一个矫枉过正的操作......以上是关于在 VS2010 中停止在 IIS 上调试 Web 应用程序需要很长时间的主要内容,如果未能解决你的问题,请参考以下文章
“无法在 Web 服务器上开始调试” MSVSMON.EXE 无法启动。 VS2010 错误