Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net MVC.Net中的缓存_Asp.net_Asp.net Mvc - Fatal编程技术网

Asp.net MVC.Net中的缓存

Asp.net MVC.Net中的缓存,asp.net,asp.net-mvc,Asp.net,Asp.net Mvc,我面临一个问题,从网站注销后,我可以使用浏览器返回按钮查看所有页面,我的理解是,如果我在注销时清除所有缓存,那么我可以阻止它,但我担心的是,如果我删除所有缓存,那么我的网站性能会变差吗 也可以只对特定页面进行nocache?是的,可以在返回视图的控制器操作上使用OutputCache属性。例如,要防止在视图上进行缓存,请使用以下方法: [OutputCache(NoStore = true, Duration=1)] 性能将受到影响,因为您告诉浏览器不要缓存,这样它将向您的网站发出另一个请求。

我面临一个问题,从网站注销后,我可以使用浏览器返回按钮查看所有页面,我的理解是,如果我在注销时清除所有缓存,那么我可以阻止它,但我担心的是,如果我删除所有缓存,那么我的网站性能会变差吗


也可以只对特定页面进行nocache?

是的,可以在返回视图的控制器操作上使用
OutputCache
属性。例如,要防止在视图上进行缓存,请使用以下方法:

[OutputCache(NoStore = true, Duration=1)]

性能将受到影响,因为您告诉浏览器不要缓存,这样它将向您的网站发出另一个请求。但这不一定会产生重大影响,因为您只需将它们重定向到我期望的“会话已过期”页面

这个答案就是你所需要的-我已经回答了这个问题,我的主要问题是,有没有任何可能的方式,我们保持在缓存中的东西,但我们不会让用户使用后退按钮后,他已经注销?当你说“保持在缓存中的东西”,我想你是指页面上的图像等。这没有问题,因为可以在配置中指定这些项的缓存。为了防止页面本身缓存(以便无法浏览浏览器历史记录),您需要执行类似于我的回答的操作,以指示用户的浏览器不要缓存该URL。我已经多次使用这种技术,效果很好。是的,你是对的,我的意思是保留图像,所以如果我们只写
[OutputCache(Duration=1)]
,这意味着它不会缓存url,而是会缓存图像。是吗?Mark,这很有效,但在Opera中不起作用,你知道如何在Opera中起作用吗?我不知道任何Opera特定的缓存指令。可能已经缓存了页面的旧版本?请尝试按Ctrl+R重新加载页面,或清除浏览器缓存,然后重试。除此之外,我只能建议查看来自网站的响应标题,看看设置了什么过期时间。