如何关闭整个 ASP.NET MVC 3 网站的缓存?
就像问题所说,我想知道是否可以关闭整个站点的所有控制器和操作上的缓存。谢谢!
Like the question says, I wanted to know if it's possible to turn off caching on all controllers and actions for my entire site. Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
创建一个全局操作过滤器并覆盖
OnResultExecuting()
:然后将其注册到您的 global.asax 中,如下所示:
总而言之,它的作用是创建一个 全局操作过滤器 这样这将隐式地应用于所有控制器和所有操作。
Create a Global Action Filter and override
OnResultExecuting()
:And then register this in your global.asax, like so:
In summation, what this does is create a Global Action Filter so that implicitly this will be applied to all Controllers and all Actions.
您应该将此方法添加到您的 Global.asax.cs 文件中。
这将禁用每个请求(图像、html、js 等)的缓存。
You should add this method to your Global.asax.cs file
This disables cache on every request (images, html, js etc.).
是的,取决于您采取的方法。
我喜欢将操作应用于基本控制器(因此我在那里回复)。您可以在下面的链接中实现过滤器,并将其实现为全局过滤器(在您的 global.asax.cs 中注册)
禁用整个 ASP.NET 网站的浏览器缓存
Yes, depending on the approach you take.
I like applying the actions to a base controller (hence my reply there). You could implement the filter at the link below and implement it as a global filter as well (registered in your global.asax.cs)
Disable browser cache for entire ASP.NET website
在 web.config 中,您可以添加额外的标头以随每个响应一起发出
In web.config you can add additional headers to go out with every response