问题描述
|
我在注册网站上工作是我工作的一部分,并且出现了一些模式,我尝试将其移植到中央“ 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 (将#修改为@)