Расположение OutputCache = Клиент не работает
Я пытаюсь использовать атрибут OutputCache
в своем приложении MVC и, похоже, не работает, когда я использую OutputCacheLocation.Client
:
public class HomeController : Controller
{
[OutputCache(Duration=15, Location=OutputCacheLocation.Client)]
public ActionResult Client()
{
ViewBag.Message = "The current time is " + DateTime.Now.ToString("hh:mm:ss");
return View();
}
[OutputCache(Duration=15, Location=OutputCacheLocation.Any)]
public ActionResult Any()
{
ViewBag.Message = "The current time is " + DateTime.Now.ToString("hh:mm:ss");
return View();
}
}
Первый не кэширует. Я нажимаю страницу каждую секунду и меняет время. Второй работает. Это изменяет время каждые 15 секунд. Есть что-то, чего я не хватает? Я отлаживаю это с помощью IE8 и встроенного сервера разработки в Visual Studio.
Ответы
Ответ 1
Если вы нажали F5, вы выбрасываете кеш клиента. Способ работы кэша клиента заключается в том, что у вас есть ссылки на сайте, указывающие на действие Client
из некоторых других представлений, и когда пользователь нажимает на эти ссылки, кешированная версия будет обслуживаться (если, конечно, он делает это в интервал, для которого страница кэшируется).