У нас есть приложение WCF для однократной установки, которое обслуживается с веб-сайта IIS через HTTPS. Он находится в подкаталоге другого сайта, который имеет аутентификацию (смешанный режим, как окна, так и форму), но не применяется к этой папке. В нем также настроен статический кэш очень высокой длительности, что вызвало у нас проблемы с нашим приложением WCF, поэтому мы отключили кеширование в этом фолдере, и внезапно setup.exe перестал работать правильно (если вы перешли прямо к .application, он работал) .
Мы нашли обходной путь, похоже, что установка 5-секундного кэша решает проблему, но мне было интересно, если кто-нибудь сможет пролить свет на то, почему это произойдет? Изменения конфигурации, которые исправили это, меняли файл web.config в подпапке с:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<staticContent>
<clientCache cacheControlMode="DisableCache" />
</staticContent>
</system.webServer>
</configuration>
Кому:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="00.00:00:05" />
</staticContent>
</system.webServer>
</configuration>
И мы попытались вернуться обратно, и проблема снова появилась, так что это не так просто, как исправление пула приложений. Действительно странно то, что это не происходит с нашей промежуточной средой, единственное отличие состоит в том, что она не обслуживается по протоколу HTTPS ...
Редактировать: Просто чтобы прояснить это, я знаю, что на самом деле нет никакого способа полностью диагностировать это. Я очень рад принять любое рациональное объяснение, которое могло бы вызвать описанный эффект, потому что я не думаю, что смогу произвести этот эффект, даже если бы попытался ...