2016-01-24 3 views
0

У меня есть RESTful API, работающий на узле, который работает с статическими файлами, которые живут на диске сервера. Если я запускаю службу на узле (через командную строку), я могу выполнять все операции CRUD в моей коллекции статических файлов и получать ожидаемые ответы HTTP на мои HTTP-запросы.Предотвращение iisnode из кэширования require'd static files

Однако, когда я беру ту же услугу и размещаю ее в IIS через iisnode, мои запросы GET, похоже, возвращают кешированные версии файлов. То есть, если я отредактирую файл через службу REST, я могу удалиться на сервере и подтвердить, что это обновление было сделано, но если я попрошу файл через RESTful API, я получаю старую версию.

Я попытался следующие, ни один из которых работал на меня:

  • подпрыгивая IIS.
  • отключить кэширование вывода «кеш» и «кэш ядра» в веб-приложении IIS.
  • Указание отсутствия кеша в заголовке Cache-Control.
  • удаление конфигурации для использования перехватчика iisnode.

Любые идеи о том, как предотвратить iisnode (или iis) от кеширования моих статических файлов, будут чрезвычайно оценены.

ответ

0

Обнаружил эту проблему. Решение было получено путем считывания this thread. Решение состояло из:

  • обновляя мое iisnode тега watchedFiles значения атрибута ссылаться на статические (JSON) файлы, которые я хотел, чтобы запустить процесс Node для перезапуска. Изменено с <iisnode watchedFiles="*.js" /> по <iisnode watchedFiles="*.js;relative/path/to/static files/*.json" />
  • Приложение для приложения приложения для утилизации приложений. Этот шаг не задокументирован в потоке, и я подозреваю, что причина в том, что у других возникли проблемы с решением проблемы.