Я пишу стандартное приложение MVC 5 и устанавливаю тег OutputCache на контроллерах, а также устанавливаю StackExange.Redis и RedisOutputCache. Соответственно настроил web.config.
Кеш работает отлично, когда я запускаю его на локальном хосте, однако после развертывания в веб-приложении Azure кеш не работает, поскольку я вижу происходящие изменения. Также при удаленной отладке приложения я вижу попадания точки останова в действие представления контроллера.
Я искал решение несколько дней, но не мог найти ни одного ответа, даже чего-то похожего. Я уже поднял заявку на поддержку Azure.
Итак, мой вопрос: есть ли что-то, что могло бы заставить Azure WebApp вести себя иначе, чем локальное решение? Как мне отладить Outputcache, чтобы проверить, почему он не попадает в кешированную версию?
Дополнительная информация: я вижу в Redis Cli, что Outputcache хранит кешированную версию, просто он ее не возвращает.
Спасибо
Опубликуйте свой файл web.config. Маскируйте конфиденциальную информацию.





Что ж, я наконец нашел проблему.
Я использовал Thread.CurrentThread.CurrentCulture.Name в функции VaryByCustomString() в global.asax для создания кэшированной версии на основе культуры.
Однако после развертывания в Azure WebApp эта культура кажется не заданной, поэтому проверка не выполняется, и OutputCache считает, что в Redis нет какой-либо версии.
В отношении stackoverflow "Покажи мне свой код". Можете ли вы извлечь фрагмент кода, который ведет себя по-разному в локальной среде и в Azure?