Кеширование MVC .NET 4.0 - PullRequest
0 голосов
/ 20 июля 2010

Я пытаюсь кэшировать список выбора, который не является нулевым, но я получаю ошибку исключения нулевого значения.Строка кода, вызывающая ошибку: (элемент примечания создается с использованием Cache item = new Cache (); tripPM.friendDropDown содержит список выбора

   item.Insert("friendDropDown", tripVM.friendDropDown,null,DateTime.Now.AddMilliseconds(10000), TimeSpan.Zero);

Большинство сетевых ресурсов говорят, что я мог бы использоватьСинтаксис ниже, но это не разрешено в VS2010 с использованием .NET 4.0:

   cache["friendDropDown"] = tripVM.friendDropDown;

Откуда эта ошибка?

спасибо

1 Ответ

0 голосов
/ 03 ноября 2010

Вы должны кэшировать эти данные, а не элемент управления.Внутри контроллера проверьте, существует ли кеш, иначе добавьте его.Затем вы устанавливаете данные в ViewData или модель, которую вы передаете в представление, и получаете к ним доступ оттуда.

Если вы намереваетесь кэшировать результаты всего представления, вы можете кэшировать выходные данные контроллера, используя «OutputCache»."attribute.

Наконец, когда вы собираетесь что-то кэшировать, вы должны использовать HttpContext.Cache (http://msdn.microsoft.com/en-us/library/system.web.httpcontext.cache.aspx) это даст вам одну область для кэширования, если вы не хотите создавать свой собственный менеджер кэша или использовать егокак библиотека предприятия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...