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>

Когда я пытаюсь получить доступ к.XAP-файлу Silverlight, я ожидаю, что 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> 
Другие вопросы по тегам