2012-05-15 146 views
0

我有一个asp.net应用程序,要求用户输入私人信息,并通过会话超时自动登出应用程序。但是,这并不妨碍他们点击后退按钮。我需要禁用这个。浏览器忽略asp.net缓存设置

我曾尝试这些方法设在这里的每一位:http://www.codeproject.com/Tips/135121/Browser-back-button-issue-after-logout

第一个代码块一天左右伟大的工作。现在突然我的浏览器IE8和FF 7.0.1完全忽略它。事实上,我已经试过了我可以在网上找到的缓存压缩代码的每种可能组合,而且不管我总是可以点击回来。

我已经删除了两个浏览器上的缓存,试过并在每个组合中重试。重新启动。关闭VS2008并重新打开。将母版页中的代码页级别放在我的基本页面中。没有。有人请让我知道他们是否有任何建议

+0

您是否使用[Fiddler](http://www.fiddler2.com/)这样的工具调试了什么? –

+0

我从来没有使用过提琴手。有没有好的教程/参考?此外,它甚至会告诉我什么是缓存,为什么? – user1148341

+0

它会告诉你正在进行的HTTP会话,以便你可以验证*你的头文件*是否存在,以及*浏览器是否应该在实际应用时进行重新验证*等。 –

回答

1

但是,这并不妨碍他们点击后退按钮。我 需要禁用此。

您无法禁用后退按钮。这是不可能的。你需要做的是制作应用程序,以便在有人使用它时处理。浏览器不必遵循缓存过期等规则,所以你的代码必须能够处理过期的会话。没有其他办法。您可以让服务器在服务器上过期,因此它不会允许该人员向其发布数据,但您无法使用后退按钮的位置无法使用该会话。

+0

我不是指禁用它,因为它不会出现或变灰。但是当您点击后退按钮时,我的页面只会刷新,因为没有历史记录可供使用。现在突然间所有的浏览器都完全忽略了有关缓存过期的任何陈述 – user1148341

+1

正确的,当我说禁用我的意思是使它无法执行它的功能,这基本上是你在做什么。如果它以前并没有现在,那么很可能在代码中发生了一些变化,从而导致了问题。没有看到它是很难说的。我要说的是,如果你要依靠这个工作,那么除了这个之外,我还会考虑实施另一个策略,因为你依赖于浏览器来遵循你所设定的规则。 – kemiller2002