我有一个WCF Web服务的端点,它没有在AJAX请求的性能监视器中获得输出缓存命中,它确实获得了非 AJAX请求到端点的输出缓存。
网络配置:
<caching>
<outputCacheSettings >
<outputCacheProfiles>
<add location="Any" name="myCache" duration="3600" varyByParam="*" />
</outputCacheProfiles>
</outputCacheSettings>
</caching>
我在配置中缺少一个选项吗?我没有包含Javascript,因为我怀疑问题在于那里,因为服务器不应该检查任何标头来确定缓存价值。
终点:
[AspNetCacheProfileAttribute("myCache")]
[WebGet(ResponseFormat= WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare, UriTemplate = "suburb?name={name}&state={state}&category={category}&bedrooms={bedrooms}&country={country}")]
答案 0 :(得分:1)
当您进行ajax调用时,您可能会将其作为缓存传递:false。
当您这样调用时,ajax调用将使用额外参数传递URL,值将是随机唯一编号。由于asp.net方法接收此额外参数并使用 varyByParam =&#34; *&#34; 配置outputcache,因此此方法永远不会缓存。解决方案
很抱歉迟到的回复。我刚才看到了这个问题。