1

内部 Web 应用程序存在一个非常奇怪但主要的问题。它是用 asp.net 4.0 编写的,并且已经运行了一段时间。但是几天前它突然停止在 IE10、9 和 8 中工作。在某些页面上,单击按钮时页面会挂起长达一个小时。这不会发生在 Opera、Chrome 或 Firefox 中,但会发生在所有当前版本的 IE 中。一些 PC 几个月没有重新启动,所以我们认为这不是 IE 更新造成的。此外,如果我们将应用程序部署到不同的服务器,IE 也一切正常......从开发环境运行站点时也不会发生这种情况。

实时和测试服务器都是win 2008,而它运行的服务器是win 2003,我的开发环境是windows 7。

有人对可能发生的事情或我们可以从哪里开始寻找有任何想法吗?

编辑 - - - - - - - - - - - - - - - - - - - - - - - - - -

我们已经找到了问题的根源,虽然不是为什么它会突然引起问题。我们有一些按钮,其中手动添加了 ClientSideOnClick 事件。这似乎导致向按钮添加两种回发方法(一种手动和一种自动)。如果我们不添加手动事件,那么一切正常。显然我们可以关闭 AutoEventWireup 但是我们的 page_load 事件等将无法正确连接(如果我们这样做,这个应用程序中有很多页面需要修复)。我们可以只为按钮禁用 autoeventwireup 吗?

4

1 回答 1

2

我们发现这个问题的原因是两件事的结合。

首先.net 4.5 安装在服务器上(它是前一段时间安装在测试服务器上的,但这个问题的性质意味着它似乎没有在那个时候在测试服务器上命中)。

然后我们发现(如上面发布的)在某些情况下,一个按钮被赋予了两个 JavaScript 回发事件。

这些按钮至少 3 年没有改变并且工作正常(即使它不是最佳实践甚至不是想要的行为),但是在服务器上安装 4.5 框架似乎已经在 IE 中破坏了这些按钮(是的,微软更新只会破坏微软自己的浏览器中的页面......)。. 现在这意味着我们终于可以让页面再次工作了。然而,我们仍然真的不知道为什么在服务器上安装 .net 框架 4.5 会破坏在框架 4.0 中运行的代码,框架 4.0 已经运行良好至少 3 年(可能比这更多)。更令人费解的是为什么它只在 Internet Explorer 中崩溃。

于 2013-10-08T22:21:00.450 回答