2012-03-02 2 views
0

Я новичок в инфраструктуре ASP.NET MVC, я хотел бы выполнить следующее требование. Пожалуйста, дайте мне знать, если это возможно.с использованием кэшированных данных - кэширование с использованием кеша вывода на действие контроллера по другому методу действий

У меня есть основные данные в приложении, и я получаю MasterData на одном действии контроллера.

[HttpPost] 
     [OutputCache(Duration=60*60, VaryByParam="", CacheProfile="Books")] 
     public ActionResult GetBooks() 
     { 
} 

Я хотел бы использовать основные данные, кэшированные как часть предыдущего метода действий.

[HttpPost] 
    public ActionResult EditBooks() 
    { 
     return View("_EditBook"); 
    } 

Как я могу получить доступ к кэшированным данным в asp.Net mvc?

ответ

1

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

Атрибут OutputCache также может быть применен к child actions, чтобы кэшировать на нем фрагменты веб-страницы.

Если с другой стороны вы хотите кэшировать некоторые объекты .NET (такие как, например, коллекция какого-либо типа, которая была возвращена в действие контроллера), вы можете использовать MemoryCache.