2009-09-22 3 views
0

У меня есть программа, которая проверяет, присутствует ли файл каждые 3 секунды, используя webrequest и webresponse. Если этот файл присутствует, он делает что-то, если нет, ect, эта часть работает нормально. У меня есть веб-страница, которая управляет программой, создавая файл с сообщением и другими переменными, введенными на страницу, а затем создает их и запускает в папку, которую программа проверяет. Существует также кнопка «Стоп», которая удаляет этот файл.Проблема IIS/Cache?

Это хорошо работает, за исключением того, что после запуска и удаления одного сообщения, когда он запускается второй раз с другим сообщением, программа все еще видит старое сообщение. Я смотрю, как файл будет удален в IIS, так что это не проблема.

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

Любые идеи приветствуются, спасибо.

ответ

0

Я не привык к IIS, но в Apache вы можете создать .htaccess и установить/изменить HTTP-заголовки.

С помощью «Cache-Control» вы можете указать прокси/браузеру, чтобы не кэшировать файл. http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html

Решение, подобное этому, может работать и в IIS, если это действительно проблема с кешем.

(Чтобы проверить это, откройте используя желаемый браузер с кэшированием отключен

0

Простой хак, чтобы добавить что-то уникальное для URL каждый раз

http://www.yourdomain.com/yourpage.aspx?random=123489797

Добавление случайное число URL-адрес заставляет его быть свежим. Даже если вы не используете параметр querystring, IIS этого не знает, поэтому в любом случае выполняет страницу снова.

+0

- это метод, чтобы аннулировать выходной кеш? – Nirlep

+0

Он работает, чтобы сделать недействительным как серверный кеш, так и кеш пользователей браузера, если используется браузер. –

Смежные вопросы