我们的(asp.net)系统是一个更大系统的一部分。它是通过这个更大的系统从 javascript 启动的,该系统执行 window.open 调用以打开一个新窗口。
(此外,身份验证数据等通过加密查询字符串参数传递到我们的系统)
当使用 IE7 进行测试时(不幸的是,该组织已经对此进行了标准化),浏览器在使用我们的系统(在页面中导航)一段时间后(其间歇性)将开始不发出网络请求。按 F5 会显示其加载动画,但实际上没有任何反应)。
您可以关闭我们的窗口,然后返回到更大的系统(在它自己的窗口中),它仍然可以正常工作。如果您重新启动我们的系统,新窗口会打开,看起来像是正在加载,但没有发出任何请求(使用 wireshark 验证)。这些系统位于不同的子域上。
有趣的是,如果我启动 Fiddler,一切都会开始正常工作。一旦我关闭 Fiddler,它就会停止发出网络请求。
该系统是一个相当重的 html/javascript/ajax 系统(每页 1MB+),但这不应该导致浏览器这样做。显然 Firefox 和 Chrome 可以完美运行 :)
让它再次工作的唯一方法是关闭所有 IE 窗口,然后重新启动。
我已经禁用了代理服务器,启用了它,几乎完成了我能想到的所有事情。
有人有什么想法吗?
更新
我设法通过运行提琴手来重现它。最初,当它工作时,我可以在 Fiddler 中看到所有请求。当它进入“无请求”模式时(再次注意,没有任何变化,我只是在四处浏览),我在 Fiddler 中看不到任何东西(即没有新请求,什么也没有)。fiddler 记录的所有请求都已完成,因此没有打开的连接。
我们几乎在每台机器上都看到了这一点。浏览大约 15 页后,这开始发生。会不会是环境问题?我的测试机器是安装了 McAfee IE7 的 vanilla XP。没有其他东西在运行,也没有在 IE 中安装工具栏。