Контроль замены на уровне контроля пользователей?
-
09-06-2019 - |
Вопрос
Я пытаюсь создать некоторые кэшированные пользовательские элементы управления.По сути, верхний и нижний колонтитулы статичны.
За исключением того, что в нижнем колонтитуле есть одна ссылка, которая считывает URL-адрес страницы и помещает его в javascript за отправку ссылки другу.Поэтому мне нужно, чтобы эта ссылка была динамической.
Я настроил элемент управления заменой и заставил статический метод возвращать динамическую ссылку.
Перейдите к запуску и обнаружите, что элементы управления заменой не поддерживаются на уровне пользовательского элемента управления.
Есть ли какой-нибудь обходной путь?Есть ли другой элемент управления, например замена, который работает с пользовательскими элементами управления, о котором я не знаю?
Решение
В этом случае я бы забыл о кэшировании на стороне сервера и полагался на простоту кэширования на стороне клиента.
Ваш код Javascript может быть кэширован на стороне клиента так же легко, как и HTML, либо путем ссылки на внешний файл javascript и добавления необходимых заголовков/сроков действия, либо путем встраивания сценария в саму страницу и обеспечения кэширования самой страницы.
Другой возможный метод — выполнить вызов Ajax при загрузке страницы, чтобы получить сгенерированный нижний колонтитул с правильной ссылкой.Это может занять некоторое время при загрузке первой страницы, но последующие ajax-запросы будут кэшироваться на клиенте, поэтому будущие запросы не будут подвергаться штрафам.