Я добавил к лаковой конфигурацииКак сделать кеш-кеш с помощью 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 и ожидать, что это будет кешировано. Вам нужно указать атрибут src в теге esi: include: –
Ronald
Если вы не хотите, чтобы страница была кэширована, вы должны указать заголовок Cache-Control с максимальным возрастом или s-maxage 0, чтобы указать лак не на кеш – Ronald
Вы правы. Измените на esi: include> и настройте ttl на 0 и работайте. Благодарю. –