У меня есть пользовательский элемент управления, который рисует таблицу
У меня есть другой пользовательский элемент управления, который рисует изображения
Я хочу кэшировать оба пользовательских элемента управления в течение одного дня, это означает, что каждый день, еслитаблица посещений пользователей и изображения будут сгенерированы только в первый раз и сохранены в кэш-памяти и использованы весь день из кэша для любого последующего посещения.
Этот кэш должен зависеть от трех ключей, включая зарегистрированный ключ пользователя
Я написал собственный код для изображений, и он работает нормально, я храню эти изображения в папке.это без использования кэширования вывода.
Теперь я не имею представления о том, как сохранить таблицу в папке, поэтому я хочу реализовать кэширование для таблицы с использованием кэширования вывода пользовательского элемента управления.
Я не знаю, как кэшировать его на один день.
В соответствии с указаниями Рика я добавил следующую директиву в пользовательский элемент управления
<%@ OutputCache Duration="86400" VaryByParam="None" Shared="true"
VaryByControl="Key1;Key2;Key3" %>
И написал следующий код на странице потребителя
DashboardControl dc = null;
Control control = (Control)Page.LoadControl(urlBuilder.GetCompleteURL().TrimEnd('?'));
if (control is DashboardControl)
{
dc = control as DashboardControl;
}
else if (control is PartialCachingControl && ((PartialCachingControl)control).CachedControl != null)
{
dc = (DashboardControl)((PartialCachingControl)control).CachedControl;
}
Но CachedControl всегда дает ноль, любая идея?