Параметр конфигурации ASP.NET staticContent не работает - PullRequest
2 голосов
/ 24 февраля 2012

У меня есть сайт ASP.NET, работающий на сервере VS10 Dev. Мне бы хотелось, чтобы некоторые файлы статического содержимого обслуживались с длинной директивой максимального кэширования, но, похоже, она не работает.

У меня есть это в моем web.config:

<system.webServer>
<caching enabled="true" enableKernelCache="true">    
</caching>
<httpProtocol>
  <customHeaders>
    <remove name="X-Powered-By" />
  </customHeaders>
</httpProtocol>
<validation validateIntegratedModeConfiguration="false"/>
<modules runAllManagedModulesForAllRequests="true"/>    

и в папке с содержимым для кеширования

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <staticContent>
          <clientCache cacheControlMode="UseMaxAge" 
cacheControlMaxAge="30.00:00:00" />
        </staticContent>
      </system.webServer>
    </configuration>

Но он тоже не работает, он всегда работает с Cache-Control: private

Итак, поддерживается ли эта конфигурация staticContent? Если нет, то какие-нибудь обходные пути? Если так, что я пропускаю?

Заголовки, которые я получаю во всех запросах:

Server: ASP.NET Development Server/10.0.0.0
Date: Thu, 23 Feb 2012 20:47:56 GMT
Cache-Control: private
Content-Type: application/octet-stream
Content-Length: 1043
Connection: Close

Ответы [ 2 ]

1 голос
/ 30 января 2013

Я решил эту проблему! В Web.config включите раздел аутентификации для FormsAuthentication.

Это было очень полезно. Я обычно не пишу комментарии, но в этом случае я думал, что это поможет другим. В моем случае элемент управления кэшированием был закрытым, и я не мог его изменить. Непонятный ответ: у меня была включена аутентификация, когда я не нуждался или не хотел ее. Я скажу, что подсказка от поисковых систем заняла гораздо больше времени, возможно, этот текст поможет.

0 голосов
/ 25 февраля 2012

Я решил эту проблему! В Web.config включите раздел аутентификации для FormsAuthentication.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...