我们最近将 MVC3 应用程序升级到 MVC4 和 .Net 4.5。升级是通过创建一个新的 MVC4 站点并手动添加所有控制器等来完成的。
该站点在内部部署到了一个 win2008 R2 64 位服务器,我们在该服务器上安装了 .Net 4.5。
当我们使用 IE8 或 IE9 浏览网站时,应用程序在我们浏览各种页面时运行良好,包括标准视图、部分视图、弹出窗口、分页列表等。
在某些时候,我们最终会转到站点中的一个页面(任何页面,无论是否复杂),IE8 和 9 都只是在那里呆了很长时间(通常是 1-3 分钟并显示页面加载进度条)最终他们都按要求显示页面。通常在接下来的几页上会发生相同的行为,然后神奇地出现(一段时间)
如果我们在 Chrome、Ie10、Safari、FF 中浏览相同的网站,则完全没有问题。如果我们在 ie8/9 正在“加载”时从同一台机器上使用这些浏览器之一浏览该网站,那么我们仍然可以非常愉快地访问该网站而不会出现任何问题。
检查客户端、Web 服务器和数据库服务器上的任务管理器内存和性能显示几乎没有 CPU 使用率,并且在发生这种情况时内存使用率没有增加。就好像浏览器只是在休息一下。Fiddler 也没有表现出任何异常。
应该注意的是,由于这是一个 SAAS 应用程序,我们通过同一个站点管理多个数据库,这些数据库根据网站绑定中的传入 url 配置为用户会话状态。话虽如此,据我们所知,会话状态保持不变。a) 浏览器最终确实返回了预期的数据,b) 事件日志中没有记录回收事件(实际上在此问题发生时根本没有任何事件)
应用程序池设置为框架 4.0.30319,集成,启用 32 位,最大工作进程 = 1
我们将服务器上的网站恢复为原始的 MVC3 实现,并且仍然保留在 Web 服务器上安装的 .net4.5。这现在表现出与 mvc4 站点相同的故障。
我们将服务器重新映像到安装 .net4.5 之前的状态,运行 MVC3 站点,一切都按我们预期的那样重新运行。重复安装再次导致同样的问题。
几乎就像在服务器上安装.net4.5 导致了IE8/9 浏览器的一些问题。再次回到 fiddler,它显示了不同版本的 .Net 的不同主机头,但这似乎是唯一的区别。
虽然我们希望能够告诉用户不要使用不实用的 ie8/9,但现在我们完全陷入了困境。
任何帮助/想法将不胜感激。谢谢。