Отключить кэширование для одного файла JS с помощью Web.config - PullRequest
2 голосов
/ 08 марта 2011

Я сейчас кеширую все возможное на своем сайте (изображения, JS, CSS).Есть только один файл JS, который мне нужно загружать каждый раз заново.Как исключить кэширование только одного файла, используя web.config, оставляя все остальное в кэше?

Обратите внимание, что я попробовал другую ссылку здесь, и, похоже, она не остановила кэширование моего файла: Как отключить кэширование отдельного файла в IIS 7 с помощью настроек конфигурации weserver

Ответы [ 3 ]

6 голосов
/ 05 марта 2013

Как насчет:

<configuration>
  <location path="path/to/the/file.js">
    <system.webServer>
      <staticContent>
        <clientCache cacheControlMode="DisableCache" />
      </staticContent>
    </system.webServer>
  </location>
</configuration>

(обратите внимание, что путь указан относительно файла web.config)

2 голосов
/ 08 марта 2011

Я не думаю, что вы можете сделать это с помощью web.config, но вы можете добавить уникальный параметр строки запроса в URL-адрес JavaScript, чтобы он загружался каждый раз:

Если вы используете ASP.NET

<script src="mycode.js?<%=System.Guid.NewGuid.ToString()%>"></script>
1 голос
/ 08 марта 2011

Установите путь для него не как статический URL, а получите страницу ASPX для обслуживания сценария. Внутри страницы ASPX просто отправьте обратно текст:

byte[] javascriptTextBuffer = GetMyJavascript();
Response.ContentType = "text/javascript";
Response.Write(javascriptTextBuffer);

Внутри страницы отключить кеширование .

Сказав это, мне кажется, что вы делаете что-то не так, что приходится каждый раз загружать файл JavaScript. Сделать сценарии статичными, но использовать параметры для обеспечения универсальности.

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