OutputCache Location = Клиент не работает - PullRequest
16 голосов
/ 07 марта 2012

Я пытаюсь использовать атрибут 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 Ответ

18 голосов
/ 07 марта 2012

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

...