Настроить кэширование ASP.NET только для анонимных пользователей? - PullRequest
5 голосов
/ 25 февраля 2010

Я ищу способ настроить кэширование только для анонимных пользователей. Причина, по которой я пытаюсь это сделать, заключается в том, что пользователи вошли в систему и создают контент, который не сразу виден. В нашей старой системе (linux / php / mysql) она была настроена для кэширования только анонимных пользователей, и это не было проблемой.

Прямо сейчас у нас есть настройка кэширования в web.config, как это

<caching>
  <outputCacheSettings>
    <outputCacheProfiles>
      <add name="High" duration="60" varyByParam="*" enabled="true"/>
      <add name="Medium" duration="30" varyByParam="*" enabled="true"/>
      <add name="Low" duration="10" varyByParam="*" enabled="true"/>
    </outputCacheProfiles>
  </outputCacheSettings>
</caching>

Я знаю, что могу добавить varByCustom = "userName", например , о котором говорится в этом сообщении . Но это не решает мою проблему. Он все еще кеширует логин пользователей, и такая же проблема существует.

Ответы [ 2 ]

1 голос
/ 01 марта 2010

Как говорит Джеймс, возможно, лучше каким-то образом аннулировать кеш.

Таким образом, вы поддерживаете кеш для всех ваших пользователей анонимно или нет. Почему бы не улучшить отзывчивость ваших администраторов, ведь они, скорее всего, будут использовать это приложение?

Вы смотрели на зависимость кэша SQL? Таким образом, когда таблица, в которой хранится содержимое, изменяется, кеш для вас становится недействительным.

http://msdn.microsoft.com/en-us/library/system.web.caching.sqlcachedependency.aspx

0 голосов
/ 01 марта 2010

Вы можете удалить / удалить страницу из кэша, когда пользователь вносит в нее изменения, используя метод, показанный ниже:

HttpResponse.RemoveOutputCacheItem("/PageJustUpdated.aspx");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...