IIS7: настройка кеша не работает... почему?
У моего IIS7 web.config установлено следующее: папка статических ресурсов (не в приложении ASP.NET или что-то еще):
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<staticContent>
<clientCache cacheControlCustom="public" cacheControlMode="UseMaxAge" cacheControlMaxAge="500.00:00:00" />
</staticContent>
<httpProtocol allowKeepAlive="false" />
</system.webServer>
</configuration>
Когда я пытаюсь получить доступ к файлу Silverlight.XAP, я ожидаю, что IIS скажет браузеру, что его можно кэшировать в течение 500 дней.
Однако это заголовок кэша:
Cache-Control: no-cache,public,max-age=43200000
Почему IIS все еще добавляет no-cache
в этот заголовок с указанным выше конфигурационным файлом?
Ответы
Ответ 1
Вам нужно настроить IIS для обработки XAP как статического содержимого. Попробуйте следующее:
<configuration>
<system.webServer>
<staticContent>
<mimeMap fileExtension=".xaml" mimeType="application/xaml+xml" />
<mimeMap fileExtension=".xap" mimeType="application/x-silverlight-app" />
<mimeMap fileExtension=".xbap" mimeType="application/x-ms-xbap" />
</staticContent>
</system.webServer>
</configuration>