Это мой первый пост здесь.
Я написал CMS, которая позволяет разработчикам писать свои собственные плагины в форме WebUserControls. Эти плагины могут быть вставлены (через TinyMCE) в контент пользователями. Это делается программно с использованием метода LoadControl, добавляя к иерархии элементов управления и устанавливая его свойства. Пока все хорошо.
Я хочу разрешить разработчикам использовать OutputCache в своих WebUserControls, однако эти элементы управления должны кэшироваться в свойствах WebUserControl. например разработчик написал WebUserControl color.ascx, который имеет свойство Color (Red | Green | Blue), поэтому в зависимости от значения этого свойства в кеше могут храниться версии Red, Green и Blue.
Проблема, с которой я столкнулся, состоит в том, что на странице может быть несколько, скажем, три элемента управления color.ascx (красный, зеленый и синий), которые динамически загружаются с помощью LoadControl. После кэширования метод LoadControl корректно возвращает PartialCachingControl, но при обновлении страницы это всегда последняя версия из кэша, т. Е. На странице отображается 3 синих вместо красных, зеленых и синих.
Есть ли способ с LoadControl (или каким-либо другим способом) загрузить правильную версию из кэша, то есть, используя свойство Color, и как я должен использовать OutputCache, чтобы убедиться, что он сохранен в кэше на основе свойств WebUserControls
Спасибо за вашу помощь.