2016-04-17 3 views
4

У меня есть приложение clickonce для Windows Server 2012 IIS 8.5. Недавно я обновил его до новой версии, и он отлично работает, за исключением одного URL-адреса, используемого второй веб-страницей для ссылки на него. Он напрямую связан с файлом .application, и когда я использую эту ссылку, я получаю версию 2.1.0.10 этого файла вместо той, которая является версией сервера 3.1.0.1.IIS 8.5 Обслуживание старых файлов

Только при использовании этой ссылки другой сервер url - правильный файл. Я даже остановил сайт на обоих серверах (балансировка нагрузки), и ссылка все равно каким-то образом загружает старый файл.

У меня кэш и кеш ядра отключены в настройках выходного кэша в IIS, у меня есть общие заголовки HTTP-ответов, которые немедленно истекают веб-контент, но он все еще обслуживает старый и старый файлы, даже если он больше не существует. У меня есть правило перезаписи URL для того, чтобы этот URL был перенаправлен на тот, который работает, и все же я загружаю старый файл.

Я перезапустил IIS и сами серверы, и ничего не изменилось. Затем я попытался скопировать файлы в новую папку и создать новый сайт в IIS. Я скопировал привязки и остановил старый сайт и пул приложений. Все еще получите старый файл.

Может ли кто-нибудь помочь мне разобраться, что происходит с IIS? Как он обслуживает файл, который не существует, даже когда веб-сайт остановлен? Как я могу его обновить?

ответ

1

В результате это было вызвано установкой результатов кэширования балансировки нагрузки. Мы отключили эту настройку, и теперь у вас больше нет проблемы.

0

Если веб-сервер остановлен, возможно, что этот файл может быть «отправлен» из кеша вашего браузера.

Вы пытались очистить кеш браузера? Если это не сработает, возможно, стоит перезапустить службу IIS полностью или, в противном случае, переместить каталог сайта wwwroot в другом месте и перераспределить последнюю версию вашего сайта или просто переименовать файл .application и повторно развернуть?

Это будет сродни очистке и перестройке проекта в Visual Studio.

+0

Я попытался перезапустить IIS и сам сервер, а также скопировал сайт в новый каталог и создал новый сайт IIS и скопировал ссылки. Все еще получите старый файл, который не существует. Также очищен кеш браузера. – Chris

+0

У вас (или у вашего работодателя) есть прокси-сервер между вами и сервером, который также может действовать как кеш? В качестве теста вы могли бы сделать резервную копию своего файла '.application'' и создать новый текстовый файл, добавить некоторый случайный текст и затем переименовать его так, чтобы он имел то же имя, что и предыдущее' '.application'' файл? Если на самом деле нет кеширования, доступ к файлу '.application'' через ваш веб-браузер не должен давать тот же результат, что и раньше. – XtraSimplicity

+0

Я не изменил его на текстовый файл, но, добавив url, мой браузер также дал мне старый файл, который больше не существует. Я на самом деле никогда раньше не использовал этот URL-адрес (он не был полностью квалифицированным доменным именем и указывал непосредственно на файл .application), поэтому я не уверен, что мой личный кеш будет проблемой. Теперь я проверяю балансировку нагрузки. – Chris

3

У меня была такая же проблема, и я попробовал все, что упоминалось здесь (и в другом месте!), И, наконец, узнал, что причиной был кеш сжатия IIS!

На консоли IIS нажмите на веб-сайт, а затем на сжатие, и снимите флажок Включите сжатие статического содержимого.

Это должно решить проблему.

+0

Он решил проблему для меня. Больше нет sc-win32-status 995. – MadMarc

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