首页 > 解决方案 > ASP.NET 网页从不加载 - 从 VS 调试(2015、2017)

问题描述

自 VS 2015 年(甚至可能是 2013 年)以来,我遇到了一个非常奇怪的问题。现在我正在使用 VS 2017,它仍然会发生。

这是情况。我有一个旧版 Web 应用程序(Webforms,后来通过将 webapi REST 与 javascript/html 客户端代码、一些 WCF 端点等集成来增强)。

我从 VS 中构建并启动调试会话(我主要使用 Chrome 和 FF 进行调试/测试,很少使用 IE/Edge/等),并且我使用 IIS Express。

大多数情况下,应用程序调试会话启动得很好——页面在浏览器中加载,我可以在浏览器的调试工具中调试 VS 中的服务器端/客户端。

但有时,页面实际上从未完成加载,无论我等待多长时间,它都只是锁定在“正在加载...”消息上。

我找到的唯一解决方案是: - 重新启动 PC - 或(在 Chrome 中)以新身份启动浏览器。- 切换到不同的浏览器(例如,在使用 Chrome 启动后,在 FF 中打开页面 - 反之亦然)。

当页面正常加载时,VS的Output Debug窗口会显示各种跟踪/调试消息或加载各种dll的进度。

页面加载并执行正常时的VS输出调试

但是,一旦上述问题开始发生,VS 输出调试就会开始记录消息,例如

The thread <#nnnn> has exited with code 0 (0x0).

页面不再加载时的VS输出调试

当这种情况开始发生时,无论我做什么(以新身份启动浏览器/更改浏览器/重新启动 PC 除外)我都无法再调试。无论我是否完全关闭并重新启动浏览器,清除缓存,关闭并重新启动 VS / IIS。没有什么帮助。

上述情况以非常随机的间隔发生。有时我可以工作和调试好几天(我在一天结束时暂停/休眠 PC,第二天恢复,结束一切正常)。然而,其他时候问题发生在刚刚启动几个调试会话之后,有时,即使在完全关闭/重新启动之后,在第一次调试会话时,也会发生这种情况。

我和它住了很长时间,但有时很烦人。

有人遇到过类似的问题吗?知道是什么原因造成的,是否有任何修复/解决方法?

谢谢

标签: asp.netvisual-studiodebuggingiis-express

解决方案


输出日志报告中的消息:

The thread <#nnnn> has exited with code 0 (0x0)

只是表明线程已经安全退出,并且在正常工作的代码中看到这一点是很正常的。事实上,看不到这一点是不正常的,因为您最终将使用所有可用的线程。

根据您的解释,我建议您需要查看您在浏览器中安装的扩展程序。我通常会使用 vanilla 配置文件(没有修改/扩展的空白配置文件),以便我的调试不受扩展可以进行的任何修改的影响。

我还会监控您系统的 CPU 和内存使用情况。这些中的任何一个都被最大化了吗?


推荐阅读