#c# #.net #web #webforms #browser-cache
Вопрос:
Я думаю, что у меня есть ошибка, связанная с кэшем. Но, когда я захожу в Инструменты разработки gt; Приложение gt;gt; Кэш. Там ничего нет.
Может ли это быть другой тип кэша? Например, кэш ответов.
Если да, то как мне убедиться, что проблема связана с кэшированием.
Чтобы объяснить общую картину, я захожу на веб-сайт с помощью единого входа. На определенной странице я вношу изменения, отправляю запрос, страница обновляется, а изменения не выполняются.
Когда я не вхожу в систему с помощью единого входа, все в порядке.
Я полагаю, что я добавлю это в aspx.cs
[OutputCache(NoStore = true, Duration = 0, VaryByParam = "None")]
и в aspx я добавлю это
lt;%@ OutputCache NoStore="True" Duration="1" VaryByParam='*' Location="None" %gt; $.ajax({ cache: false //rest of ajax });
Даже если это устранит проблему, я хочу знать, почему возникла проблема с кэшем. Вопрос в том, как мне диагностировать такую проблему?
Ответ №1:
Для веб-сайтов (или веб-API) существует множество решений, если вы хотите реализовать кэширование. У вас есть кэширование на стороне клиента, которое происходит в браузере. Вы можете отслеживать этот кэш с помощью (F12) DevTools.
Затем у вас есть слой кэша, который вы можете добавить на уровне хостинга (например, IIS). Существует кэш ответов, как вы уже упоминали в своем вопросе.
И, наконец, есть (давайте назовем это) «ручной» кэш, который позволяет вам (как разработчику) полностью контролировать свое решение для кэширования.
Согласно информации, приведенной в вашем вопросе, вы, вероятно, сделали все, чтобы исключить первый вариант кэширования. Это не означает, что в вашем решении отсутствует другая форма кэширования. Вам придется погрузиться в код, чтобы найти код или вызовы решения для кэширования.