Отключить кеш для сайта aspnet mvc2 - PullRequest
1 голос
/ 24 марта 2012

У меня есть сайт, написанный с использованием MVC2 + Entity2Sql в качестве базы данных БД. Я использую диалог jQuery для редактирования записей и заполнения их с помощью действия, возвращающего PartialView, но после 1-го вызова это действие возвращает представление со старыми данными с ответом HTTP 304 Не изменено.

Я проверил журналы - данные из БД были получены правильно, поэтому проблема с кешем на стороне клиента - после очистки данных кеша получилось нормально.

Я выполнил следующие действия, чтобы отключить кэш, но безуспешно:

Добавлен следующий код в web.config, отключить на стороне сервера :

<caching>
  <outputCache enableOutputCache="false" enableFragmentCache="false" />
</caching>

Добавлен код для Site.Master, отключить на клиенте :

<meta http-equiv="expires" content="-1" />
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="cache-control" content="no-cache" />

Добавлен атрибут к методу, который возвращает результат PartialContent, такой же, как 1-й - на стороне сервера :

[OutputCache(Duration = 0)]

Добавлено расширение «*» с «Не кэшировать» в настройках кэша вывода IIS для моего приложения (с использованием IIS7)

Все эти методы не работают для меня, devtools для IE по-прежнему показывает, что ответ не 200, а 304.

1 Ответ

0 голосов
/ 01 мая 2012

Попробуйте:

[OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")]

У меня это работает.

...