- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试设置 ASP.NET 资源的可缓存性。因此,如果我转到/foo/show,它将显示某个资源的View,并将其缓存几个小时(例如)。为此,我使用了装饰我的操作方法的OutputCache属性。该缓存的详细信息(针对此操作方法)可在web.config文件中找到。
设置此输出缓存时,它正确设置了maxage value
,但是s-maxage
的值为0。为什么?
这是代码:
[Authorize]
[OutputCache(CacheProfile = "SomeController_Show")]
public ActionResult Show(){ ... }
这是配置文件的片段:
<add name="SomeController_Show" duration="3600" varyByParam="authkey;format;blah" />
以及响应的摘要:
Cache-Control:public, max-age=3576, **s-maxage=0**
Content-Length:746
Content-Type:application/json; charset=utf-8
Date:Tue, 10 Aug 2010 00:42:17 GMT
Expires:Tue, 10 Aug 2010 01:41:53 GMT
Last-Modified:Tue, 10 Aug 2010 00:41:53 GMT
Server:Microsoft-IIS/7.0
Vary:*
请注意如何正确设置maxmax,但不正确设置s-maxage?
最佳答案
我找到了答案,[AuthorizeAttribute]
将所有最大值清除为零。这意味着,没有代理可以每个缓存具有授权的 View 结果。
我猜代理服务器通过url缓存内容。因此,如果url不包含任何身份验证详细信息(这实际上不应该... :))..那么它如何知道哪两个不同的请求是针对是否是同一个人?
(我已添加此答案而不是删除它,以帮助其他开发人员解决此问题)。
另外,类似的问题:Can someone explain this block of ASP.NET MVC code to me, please?
关于asp.net-mvc - 如何在ASP.NET应用程序中设置S-MaxAge CacheControl值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3445298/
我创建了一个新的 blob,并指定 CacheControl 等于 max-age=31536000,必须重新验证(我在 Azure 门户中查看了它)。现在,当浏览器加载我的 blob 时,我会看到以
private static final CacheControl NEVER; static { NEVER = new CacheControl(); NEVER.setNoCac
我使用蒙德里安作为我的服务器 olap 引擎。 我有一个场景,其中我的一些维度数据正在发生变化。发生这种情况时,我想清除 mondrian 缓存。 我无法理解如何获得蒙德里安缓存控制的句柄。 我有引用
我在 Dropwizard 项目中有一个想要缓存的静态端点,我已向其中添加了 @CacheControl(maxAge = 6, maxAgeUnit = HOURS) 注释。但是,响应 header
我使用 python 3.6 和用于 API 使用的 requests 模块和用于缓存 API 响应的 CacheControl 模块。我正在使用以下代码,但缓存似乎不起作用: import requ
在 OSX 上运行 pip 会出现以下错误: Traceback (most recent call last): File "/usr/local/bin/pip", line 9, in
我正在尝试更改已在 S3 中的文件的 CacheControl 属性。我发现我最好的选择是将此对象复制到更改其元数据的相同路径。代码非常简单: file_key = 'index.html'
我尝试使用 javax.ws.rs.core.CacheControl 类 (JAX-RS) 设置 public 指令 例如:Cache-Control:public,max-age= 1000 但是
很抱歉,如果这看起来重复,但我一直在 interwebz 寻找一个满意的答案。 IE 8(以及 6 和 7)不允许通过基于 https 的连接下载文件。 我知道这是 MS 支持网站中建议的缓存控制问题
下面两行有什么不同? : Response.Cache.SetCacheability(HttpCacheability.NoCache); 和 Response.CacheControl = "n
我不太擅长 Java + Spring,但我想将 Cache-Control header 添加到我的 ResponseEntity。 @RequestMapping(value = "/data/{
在 Spring Boot 列表中 common application properties ,有两个缓存持续时间相关的条目听起来与我相似: spring.resources.cache.cache
我正在遵循指南并更新我的代码以在 GAE 中使用新的 Cloud Storage API,我确实需要设置 cachecontrol header ,以前这很容易: files.gs.create(fi
我正在尝试了解如何将元数据或 header (Expires、CacheControl 等)添加到使用 Laravel 5.0 存储门面上传的文件中。我已将此处的页面用作引用。 http://lara
我是一名优秀的程序员,十分优秀!