"对象移到这里"通过回发下载后

时间:2016-10-03 11:05:05

标签: c# asp.net internet-explorer ssl

当我使用IE 11时,我在网站上遇到了一个非常混乱的错误。它是"Object moved to here" - 错误。

enter image description here

我只能在IE中以及我在SSL上运行的生产环境中重现错误。

这是发生的时间:

  • 用户点击LinkButton,它会回发到服务器。服务器使用Response.BinaryWrite以Excel文件流进行响应,并作为附件下载。页面不会重新呈现,因为它是附件。

  • 用户点击另一个按钮,进行另一次回发,返回302 Response.Redirect()。现在我将"对象移到这里" - IE中的错误。

这让我感到困惑:

  • 使用相同的代码,我无法在本地重现它。这可能表明它与证书有关。
  • 仅当Excel文件为 xlsx 时才会出现,但不会出现旧格式 xls
  • 如果我使用Fiddler捕获流量(使用Fiddlers自己的证书),即使在IE中它也能正常工作。
  • 当我使用Chrome时,它运行正常,可以表明它不是服务器代码。或者可能只是Chrome在处理来自服务器的错误行为方面做得更好。
  • 如果我不下载Excel文件(使用回发),它可以正常工作。

  • 它不应该由Response.Redirect(null)引起,因为Chrome也无法处理它。

这些是我的猜测:

  • 因为我们发送回发来下载Excel文件而不重新呈现页面,所以在下次回发时,viewstate将会损坏。

  • 当我使用Fiddler时,它以某种方式帮助IE管理问题。

我知道这个问题会引起猜测,但请耐心等待。我会分享代码,但我无法调试代码远程,我无法在本地重现它所以我不知道要分享什么代码...而且我们可以在生产服务器上获取新代码并运行几周之后我无法再添加日志记录。 对可能导致所述行为的任何想法?

0 个答案:

没有答案