我添加到清漆配置
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");
但是 Varnish 一直在缓存整个页面。
我想念什么?我在浏览器中注意到请求标头 X-Esi 不存在。还清漆正确删除标签<esi:include
GetHour 中的代码非常简单,只需从 SQL Server 中检索一个小数。