asp.net - 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 输出调试就会开始记录消息,例如
The thread <#nnnn> has exited with code 0 (0x0).
当这种情况开始发生时,无论我做什么(以新身份启动浏览器/更改浏览器/重新启动 PC 除外)我都无法再调试。无论我是否完全关闭并重新启动浏览器,清除缓存,关闭并重新启动 VS / IIS。没有什么帮助。
上述情况以非常随机的间隔发生。有时我可以工作和调试好几天(我在一天结束时暂停/休眠 PC,第二天恢复,结束一切正常)。然而,其他时候问题发生在刚刚启动几个调试会话之后,有时,即使在完全关闭/重新启动之后,在第一次调试会话时,也会发生这种情况。
我和它住了很长时间,但有时很烦人。
有人遇到过类似的问题吗?知道是什么原因造成的,是否有任何修复/解决方法?
谢谢
解决方案
输出日志报告中的消息:
The thread <#nnnn> has exited with code 0 (0x0)
只是表明线程已经安全退出,并且在正常工作的代码中看到这一点是很正常的。事实上,看不到这一点是不正常的,因为您最终将使用所有可用的线程。
根据您的解释,我建议您需要查看您在浏览器中安装的扩展程序。我通常会使用 vanilla 配置文件(没有修改/扩展的空白配置文件),以便我的调试不受扩展可以进行的任何修改的影响。
我还会监控您系统的 CPU 和内存使用情况。这些中的任何一个都被最大化了吗?
推荐阅读
- ios - Swift 中的相机和库操作
- python-3.x - 用于检查输入字符串是否可以用单行键盘编写的 Python 代码(例如:potter、flash)
- c# - 看不到嵌入在 C# 中的 IronPython 实例的控制台输出
- mysql - 按日期时间排序,但将具有相同 TITLE 的记录彼此重叠
- python-3.x - switch 语句可以有带参数的函数吗?
- python - 在 Qt Designer 中使用自定义 PySide2 小部件
- php - 我怎样才能只在 Laravel 的“hasManyThrough”关系中提取一列?
- python - 如何在 Python 中将 2 个打印语句的输出合并为一行?
- json - Ionic HTTP 数据返回问题
- javascript - 使用 Ajax 仅提交多种表单(相同名称、不同 ID)中的一种