Как мне проверить, есть ли у меня проблема, связанная с кэшем?

#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). Существует кэш ответов, как вы уже упоминали в своем вопросе.

И, наконец, есть (давайте назовем это) «ручной» кэш, который позволяет вам (как разработчику) полностью контролировать свое решение для кэширования.

Согласно информации, приведенной в вашем вопросе, вы, вероятно, сделали все, чтобы исключить первый вариант кэширования. Это не означает, что в вашем решении отсутствует другая форма кэширования. Вам придется погрузиться в код, чтобы найти код или вызовы решения для кэширования.