Как мне кэшировать составной серверный элемент управления? - PullRequest
0 голосов
/ 11 февраля 2011

Как бы я использовал системный объект кэширования, HttpContext.Current.Cache для хранения пользовательского серверного элемента управления в кэше?

В настоящее время у меня есть код, который выглядит следующим образом:

            string adxkey = string.Format("adxdependency:document:{0}", this.SearchRootDocumentKey);
        System.Web.Caching.CacheDependency cd = new System.Web.Caching.CacheDependency(null, new string[] { adxkey });
        HttpContext.Current.Cache.Insert(adxkey, this, cd);   

Это находится в методе OnInit. Мои вопросы:

  • Есть ли лучший способ разместить код кэширования?
  • Можете ли вы кэшировать серверный элемент управления, передавая ссылку на него, как описано выше? Или мне нужно кэшировать визуализированный HTML?

Пример того, как программно кэшировать серверный элемент управления, будет очень полезен! Спасибо.

1 Ответ

0 голосов
/ 28 марта 2011

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

http://www.dirigodev.com/blog/post/AspNET-Caching-101-Part-2-Cache-Key-Dependencies.aspx

...