Недавно я реализовал [ContentOutputCache] для одного из наших сайтов, и по большей части это здорово. Кэш перестает работать, когда администратор входит в CMS. Это, вероятно, по дизайну. Можно ли вообще остановить это? Я хочу, чтобы кеш обновлялся только тогда, когда что-то публикуется.
EPiServer [ContentOutputCache] — Остановить очистку кеша при входе администратора
Ответы (2)
Насколько я понимаю, авторизованные администраторы и редакторы всегда будут видеть НЕ кешированную информацию. Поэтому, когда я хочу проверить кеш, я обычно открываю два разных браузера. В одном я вошел в систему, а в другом я не вошел в систему. Если вы вошли в систему, вы обычно хотите видеть самую последнюю информацию, а не кэшированную. Но, конечно, если другой обычный гость просматривает сайт одновременно с редактором/администратором, то обычный гость все равно будет видеть кешированную версию (пока редактор или администратор не сохранит некоторые изменения).
Кэш вывода отключается, если пользователь аутентифицирован, и он создан таким образом по очень веской причине, и это поведение не было изменено.
Если бы это было не так, это могло бы привести к несанкционированному доступу к защищенному контенту. Это произойдет, если первый посетитель, загрузивший ресурс, будет аутентифицирован с доступом к нему. Поскольку выходной кеш работает, минуя генерацию контента, в чем и заключается весь его смысл, также было бы невозможно (очень сложно) запускать проверки подлинности для каждого элемента, который использовался для генерации этого контента.
Кроме того, как упоминает @sam-m, это не влияет на то, как кеш работает для других неавторизованных посетителей, что заставило бы меня сделать шаг и задать вопрос о причине необходимости кеша вывода для администраторов в первую очередь, особенно учитывая этот выходной кеш предназначен только для повышения производительности под нагрузкой.