Как мне кэшировать составной серверный элемент управления?

Как бы я использовал системный объект кэширования, 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 ответ

Решение

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

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

Другие вопросы по тегам