Принудительная перезагрузка браузера 200 (в кэше)

#c# #.net #angularjs #google-chrome #caching

#c# #.net #angularjs #google-chrome #кэширование

Вопрос:

Я разрабатываю интерфейсное приложение AngularJS 1.3.7 с внутренним API C #. Совсем недавно добавлено кэширование на стороне сервера, которое теперь вызывает головную боль. Поскольку запросы Get устанавливают заголовок управления кэшем, браузер после выполнения запроса один раз кэширует ответ API. После кэширования данных серверная часть корректно аннулирует кэш после того, как любой запрос POST / PUT / DELETE был отправлен на контроллер сервера. Проблема в том, что браузер (в моем случае Chrome) обновляет кэш только в том случае, если запрос (POST / PUT / DELETE) был отправлен на тот же URL.


Последовательность рабочих примеров: ПОЛУЧИТЬ www.bestGames.com/games -> ОПУБЛИКОВАТЬ www.bestGames.com/games -> ПОЛУЧИТЬ www.bestGames.com/games (кэш был очищен, и данные были повторно обновлены корректно).

Не работает: ПОЛУЧИТЬ www.bestGames.com/games -> ПОЛОЖИТЬ www.bestGames.com/games/20 -> ПОЛУЧИТЬ www.bestGames.com/games (не обновляя кэш, показывая старые данные).

Не работает: ПОЛУЧИТЬ www.bestGames.com/games -> ПОЛОЖИТЬ www.bestGames.com/games?id=20 -> ПОЛУЧИТЬ www.bestGames.com/games (не обновляя кэш, показывая старые данные).

Работает: ПОЛУЧИТЬ www.bestGames.com/games -> ПОЛОЖИТЬ www.bestGames.com/games -> ПОЛУЧИТЬ www.bestGames.com/games (кэш был очищен, и данные были повторно обновлены корректно).

Итак, нет ли другого способа обновить кэш браузера, кроме:

  • Добавление чего-то вроде «? = random» для получения запроса
  • Добавление дополнительного запроса к www.bestGames.com/games просто чтобы очистить кеш браузера.

Ответ №1:

Возможно, этот ответ может вам помочь. https://superuser.com/questions/89809/how-to-force-refresh-without-cache-in-google-chrome

Зависит от ОС, но я предполагаю, что Windows, поскольку вы используете C #. Попробуйте ctrl F5 или shift F5 для перезагрузки, игнорируя кэш.

Комментарии:

1. Мне нужно больше закодированного решения. И мне не нужно очищать весь кэш только от определенного URL.