Я сталкивался с подсказками о кэшировании вывода серверного элемента управления, но пока не нашел однозначного ответа: можно ли кэшировать выходные данные серверного элемента управления (так же, как кэшируются пользовательские элементы управления)?
Мнения, с которыми я сталкивался, включают в себя кэширование данных (не истинное кэширование вывода) или предложение настройки параметров response.cache.В идеале я хотел бы иметь возможность перетаскивать серверный элемент управления на страницу и устанавливать свойства с теми же именами, что и в директиве outputcache:
Пример:
<cc1:MyCustomControl ID="ctl1" runat="server" CacheDuration="200" VaryByCustom="user" />
Я собиралсякопаться в фреймворке, чтобы увидеть, как на самом деле работает кэширование вывода, но надеялся найти какую-то информацию, чтобы начать меня.Из моего ограниченного понимания парсер решает, кэширован ли page / usercontrol.Поскольку серверные элементы управления не анализируются, не будет возможности остановить выполнение кода.Я полагаю, что мог бы инициализировать логическое значение IsInCache и убедиться, что все методы проверяют это var перед выполнением кода.Это не полностью исключает выполнение серверного элемента управления, но может повысить производительность достаточно, избегая обращений к базе данных и привязки данных к элементам управления.
Я все еще использую .NET 3.5 и не имелмного времени для изучения модели провайдера OutputCache в .NET 4.0.Может быть, есть решение в последней версии фреймворка?
Есть мысли?