Как избежать кэширования пользовательского элемента управления в asp.net mvc?

Я добавляю кеш в свое приложение, у меня есть страница, содержащая несколько пользовательских элементов управления, моя проблема в том, что я просто хочу кэшировать данные, возвращаемые из контроллера, но не хочу кэшировать все содержимое страницы. Поскольку одним из моих пользовательских элементов управления является элемент управления входом в систему, если я кеширую все результаты, он будет вести себя неправильно.
моя проблема:
1.Можно ли просто кэшировать данные, возвращаемые из контроллера?
2. Если страница кэшируется, могу ли я заставить элемент управления на странице не кэшироваться?


person MemoryLeak    schedule 12.11.2010    source источник


Ответы (2)


Я предполагаю, что под кэшированием вы подразумеваете кэширование вывода (кэширование только выходного html, возвращаемого после обработки результата просмотра контроллера). То, что вы ищете, называется заменой кеша или «кэшированием пончиков». Насколько я знаю, он не поддерживается в ASP.NET MVC 1 и 2. В rc MVC 3 он поддерживается, как вы можете прочитать здесь - http://weblogs.asp.net/scottgu/архив/2010/11/09/announcing-the-asp-net-mvc-3-release-candidate.aspx.

person Branislav Abadjimarinov    schedule 12.11.2010

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

person Shiv Kumar    schedule 12.11.2010