Кэширование asp.net viewdata - PullRequest
0 голосов
/ 11 июня 2010

В настоящее время я думаю о том, чтобы кэшировать большую часть моих viewdata, за исключением пользовательских данных после входа в систему. Я думал, что самым простым способом было кэширование самого объекта ViewData и добавление пользовательских данных после его загрузки. Есть ли недостатки этого подхода? Есть ли лучшие способы?

string cacheKey = "Nieuws/show/" + id;
if (HttpRuntime.Cache[cacheKey] != null)
{
      ViewData = HttpRuntime.Cache[cacheKey] as ViewDataDictionary;
}
else
{
      // add stuff to view data

      HttpRuntime.Cache.Insert(cacheKey, ViewData, null, DateTime.Now.AddSeconds(180), Cache.NoSlidingExpiration,
      CacheItemPriority.NotRemovable, null);
}

1 Ответ

1 голос
/ 11 июня 2010

М-м-м-м-м ... ViewData также может содержать много ненужной информации, которую вы не интересуете кешированием.Я бы предложил создать подходящий модельный класс и сохранить его в своем состоянии сеанса.Это даст вам более четкую архитектуру для работы.Возможно также некоторая дополнительная временная метка для поддержки своего рода сценария обновления для перезагрузки данных из базы данных ...

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