Отключить кеш глобально .NET - PullRequest
15 голосов
/ 05 апреля 2011

Есть ли способ отключить глобальное кэширование сервера в ASP.NET?Например, добавить какие-то настройки в файл web.config?

До сих пор я пытался добавить их, но это не имело значения ...

        <caching>
          <sqlCacheDependency enabled="false"></sqlCacheDependency>
            <outputCache enableOutputCache="false"
                enableFragmentCache="false"
                sendCacheControlHeader="false"
                omitVaryStar="false" />
        </caching>

Ответы [ 4 ]

13 голосов
/ 05 сентября 2012

Существует также способ отключить это в system.webServer, если вы используете IIS7 / 7.5 или IIS Express.Это будет работать в вашем основном файле web.config (для веб-форм и mvc), а также в файлах web.config в подпапках, чтобы отключить его для определенных областей вашего приложения.

<system.webServer>
    <caching enabled="false" />
</system.webServer>
3 голосов
/ 22 октября 2012

Раздел OutputCacheSection используется для настройки параметров области приложения, например, включено или отключено кэширование вывода страницы.Например, вы можете отключить кэширование вывода страницы для всего приложения, добавив enableOutputCache="false" к OutputCacheSection в вашем файле Web.config.Настройки в файле конфигурации имеют приоритет над настройками кэша на отдельных страницах, поэтому пример настройки означает, что кэш вывода не будет использоваться.

<system.web>
        <caching>
            <outputCache enableOutputCache="false"/>            
        </caching>
</system.web>
0 голосов
/ 05 апреля 2011

Согласно MSDN :

вы можете отключить кэширование вывода страницы для всего приложения, добавив enableOutputCache = "false" к OutputCacheSection в вашем файле Web.config.

например,

<configuration>
    <system.web>
        <caching>
            <outputCacheSettings enableOutputCache="false"/>
        </caching>
    </system.web>
</configuration>

Итак, ваша конфигурация не работает, потому что у вас есть атрибут enableOutputCache в элементе outputCache, когда он должен быть в outputCacheSettings element.

0 голосов
/ 05 апреля 2011

вы можете отключить кэширование вывода и состояние сеанса для всего приложения, удалив его модули, это можно сделать из web.config

<httpModules>
  <add name="OutputCache" type="System.Web.Caching.OutputCacheModule" />
  <add name="Session" type="System.Web.SessionState.SessionStateModule" />
</httpModules>

или

добавить это к вашей странице загрузки

Response.Cache.SetCacheability(HttpCacheability.NoCache)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...