微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么Response.Cache.SetNoStore在System.Web.UI.Page派生的类中不起作用

如何解决为什么Response.Cache.SetNoStore在System.Web.UI.Page派生的类中不起作用

| 我在注册网站上工作是我工作的一部分,并且出现了一些模式,我尝试将其移植到中央“ 0” DLL中。在这里,我过去创建了有用且可重用的方法,例如帮助发送电子邮件方法以及Ninject的依赖注入设置。 注意“ 0”是我添加到网站的参考,可能会很有用。 在这种情况下,我希望会话终止,以便当有人使用浏览器后退事件时,委托不能重新提交其信息。 我使用的代码是:
        // Stop Caching in IE
        Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);

        // Stop Caching in Firefox
        Response.Cache.SetNoStore();
它起作用了,所以我认为在我的
BasePage
类中有一个可以调用以禁用缓存的方法,并将在页面中执行此操作的调用减少到一行是有用的。 问题是,我认为这部分与事实有关“ 0”是一个引用的DLL,如果我使用来自“ 0” DLL的方法调用,则不会禁用缓存。 有谁知道我是否可以使用从我的dll0ѭdll调用方法来禁用页面上的缓存,还是必须将其保留在网站本地? 更新07/07 发现了一些有趣的东西。 一些站点建议使用会话变量来确定是否有人正在返回页面。如果是,则将您引爆至暂停页面。 您需要
noCache
,以便页面重新触发
Page_Load
事件 但是我也发现:我的页面包含上面提到的代码,但是我有一个自定义验证,必须点击服务器以进行验证并返回验证错误。进行更正后,该值才有效,然后再次提交。按下表示页面已过期。 因此,如果我更改所有验证以使
EnableClientScript
为false,则一旦成功提交,任何错误都将导致Web服务器在后退按钮事件上超时。 这并不能完全解决问题,但是在特定情况下(如果他们输入无效的值),它将阻止人们回击。 干杯 路加     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。