我正在努力解决我已经有几天的问题。每当我的一个网站重建或AppPool被回收时,第一个页面加载将永远挂起(好吧,我只等了30分钟)。它只发生在~10个站点中的一个特定站点上。它是一个ASP.NET站点。
以下是我观察到的事情:
我对IIS的故障排除经验不足,但是几小时的搜索让我无处可去。
我们最近在网站上进行的唯一主要代码更改是我们已经开始使用log4net实现日志记录。我曾试图从我的web.config文件和Global.asax中删除任何log4net代码 - 仍然没有运气。
有没有其他人经历过这个,如果有,你是如何解决的?
非常感谢任何和所有帮助。
添加: 如果我将.txt文件放在站点的根目录中,并在构建后将其作为第一个加载,它将立即加载。 然而,工作进程仍然完全像以前那样行动,并且内存使用仍然在屋顶上。
最终修改:
我觉得自己像个白痴。我无法解释原因,但由于某种原因,我在Global.asax中的突破点突然受到打击,我能够找出问题所在。这是通过实体框架调用数据库的错误编写 - 即过滤是在获取了相关列中的所有行之后完成的。更糟糕的是,过滤是在foreach循环内完成的。无论如何,现在一切都恢复正常,我很高兴。答案 0 :(得分:3)
可能说明显而易见但你在app_start中的全局asax中没有任何可能导致此问题的愚蠢代码?
听起来像一个无限循环或什么?
答案 1 :(得分:1)
快速记下我的情况:
Process Monitor和Failed Request Tracing都没有任何帮助。该网站只是(几乎)永远加载。
最后,在等待几分钟后发生错误,指出它“找不到网络路径”。
原因是我输入了一个连接字符串到一个不存在的SQL Server实例,所以它以某种方式搜索服务器。最后,发生了超时。
解决方案只是在Web.Config中的连接字符串中指定正确的SQL Server。