Отображение обработчика на статическое расширение - PullRequest
0 голосов
/ 04 января 2010

Какие непредвиденные последствия связаны с отображением обработчика HTTP ASP.NET на статическое расширение, например *. Css ?

<add verb="*" path="handler.css" type="Web.HttpHandler.ThemeCssHandler" />

По умолчанию *. Css зарегистрирован как статический контент в applicationHost (под IIS7):

<staticContent lockAttributes="isDocFooterFileName">
    <mimeMap fileExtension=".css" mimeType="text/css" />

Разве статические запросы обычно не обрабатываются более эффективно одним IIS?

Ключевой мотивацией является то, чтобы динамический CSS обслуживался под известным расширением, а не чем-то вроде * .axd (для простоты и совместимости с политиками кэширования OOTB); но мы бы хотели убедиться, что это не ухудшит обслуживание нединамических запросов CSS.

1 Ответ

1 голос
/ 04 января 2010

Обычный способ обработки CSS-файлов - это статический обработчик файлов, поэтому замена вашего собственного обработчика потенциально может работать так же, как и он. Детали зависят от обработчика.

Вы можете использовать обработчик * .aspx для этой цели, если хотите (хотя это требует немного больше настроек). Однако одним побочным эффектом является то, что весь динамический контент по умолчанию помечен Cache-Control: private, что предотвратит кэширование прокси.

Кэширование вывода также включено по умолчанию для статических файлов. Если вы сделаете их динамическими, то ваш обработчик должен будет включить это явно.

...