gpt4 book ai didi

c# - 清除浏览器历史记录后网站无法正常工作

转载 作者:太空宇宙 更新时间:2023-11-03 13:18:04 30 4
gpt4 key购买 nike

我有一个旧的 ASP.NET Intranet 应用程序,其中表单登录页面表现出异常行为。如果任何版本的 IE 在提交登录页面时清除了历史记录(历史记录,而不是 cookie),则会执行空白回发并保留在登录页面上。

如果他们刷新页面或从尝试直接访问另一个页面而被重定向到登录页面,那么他们可以顺利登录。

我已将此应用程序的其他副本发布到同一个 IIS 服务器,它们最初没有表现出这种行为,但在几个小时后它们开始以相同的方式运行。重新发布到同一实例并不能像发布到新站点那样“解决”问题,删除旧应用程序然后发布到相同名称也不能。

我不确定从这里去哪里,所以任何帮助将不胜感激。

对我来说,这些是我所做的主要观察:

  1. 这只会影响我们的生产服务器。发布到其他两个服务器的相同代码不会出现此缺陷。直到最近,此代码一直有效。
  2. 我用 Response.Redirect to Google 替换了按钮点击代码。当按钮行为不正确时,不会触发此重定向。这向我表明按钮代码没有被执行。页面重新加载/刷新后,它会正确重定向,因为按钮代码现在正在触发。
  3. 当相同的代码以不同的名称发布到此 IIS 服务器时,它在数小时内不会出现此缺陷。几个小时后会发生什么导致这种行为改变?重新发布到同一个 IIS 站点并不能像发布到新的 IIS 站点那样在几个小时内解决问题。

我已经从这篇文章中删除了按钮代码,因为在我看来这是一个转移注意力的代码,因为代码似乎根本没有被执行。

这是站点运行时网络工具中 cookie 的样子 enter image description here

此处网站工作时与不工作时的区别在于 Form1 键被标记为已发送而非已接收。

我还注意到,当网站不工作时,favicon 显示为(中止)。我现在认为该请求已完全中止,因为我已经覆盖了页面的 OnInit 并且当网站不工作时我输入的代码没有被执行。

今天,我的工作向 Microsoft 提出了请求,以帮助解决这个问题,他们说这是一个“令人头疼的问题”。

最佳答案

由于您的断言,我不同意 Nick 认为代码中存在问题:

This only effects our production server. The same code published to two other servers do not exhibit this defect. This code has worked for years until recently.

这表明服务器之间存在差异,它们的配置方式或部署的代码会阻止其工作。由于这是一个表单例份验证问题,我想起了在 IE10 中搞砸表单例份验证的错误 - 请参阅 IE10 User-Agent causes ASP.Net to not send back Set-Cookie (IE10 not setting cookies)

你们的服务器是否相同?运行相同的操作系统、.NET 版本、补丁、修补程序等?

关于c# - 清除浏览器历史记录后网站无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25366381/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com