Расположение OutputCache = Клиент не работает - программирование
Подтвердить что ты не робот

Расположение 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.

4b9b3361

Ответ 1

Если вы нажали F5, вы выбрасываете кеш клиента. Способ работы кэша клиента заключается в том, что у вас есть ссылки на сайте, указывающие на действие Client из некоторых других представлений, и когда пользователь нажимает на эти ссылки, кешированная версия будет обслуживаться (если, конечно, он делает это в интервал, для которого страница кэшируется).