0
我加入清漆配置如何用c#mvc和Varnish做甜甜圈缓存?
sub vcl_fetch {
set beresp.do_esi = true;
}
}
在我的MVC应用程序中我有一个childaction
<div>@* this should not be cached, I change the returned value in my DB *@
1 @Html.Action("GetHour", "Index", new { id = 5 })
</div>
<div>
2
<esi:include>@* this should be cached *@
@Html.Action("GetHour", "Index", new { id = 5 })
</esi:include>
</div>
,并增加了请求头
Request.Headers.Add("X-Esi", "1");
但光油保持缓存整个页面。
我错过了什么? 我在浏览器中注意到请求标头X-Esi不存在。 也清漆正确删除标记<esi:include
在行动中的代码GetHour非常简单,只是从SQL Server中检索一个小数。
我不认为你可以将内容放在esi:include标签中,并期望它被缓存。您需要在esi:include标记上指定src属性: –
Ronald
如果您不希望缓存页面,则应指定具有max-age的缓存控制标头或者s-maxage为0来告诉清漆不要缓存 – Ronald
你是对的。更改为 esi:include>并将ttl配置为0并且可以工作。谢谢。 –