Я настроил HttpHandler
для *css
для выполнения простого анализа:
<handlers>
<add name="CssHandler" verb="*" path="*.css"
type="MyApp.CssProcessor,MyApp.Assembly"/>
</handlers>
Все было хорошо, пока я не добавил ресурс, который динамически загружает файл css, например,
<link rel="stylesheet" type="text/css" href="/loader.ashx/module.resource.css" >
К моему удивлению, все пошло не так.Пользовательский обработчик http перехватывает это, но поскольку он предназначен только для загрузки файлов из файловой системы, он не работает.Я понимаю, что технически это соответствует шаблону *.css
, но это кажется странным поведением, поскольку фактический ресурс, запрашиваемый с веб-сервера, равен *.ashx
, а css указывается только после пути к файлу в качестве параметра.
Можно ли сделать так, чтобы фильтр для обработчика применялся только к фактическому имени ресурса сервера?
В качестве альтернативы (и на самом деле я хотел бы знать, как это сделать в любом случае) - что бы я хотелна самом деле лучше всего перехватывать вывод из обработчика css по умолчанию.То есть вместо того, чтобы иметь весь собственный код для загрузки файлов из файловой системы в моем обработчике CSS, кажется, было бы гораздо проще просто взять ответ из обработчика по умолчанию и отфильтровать его.Который работал бы должным образом в этой ситуации.
Наконец, в любом случае, я бы предпочел фильтровать по типу MIME ресурса text/css
, а не перехватывать запросы по имени, так как я действительно хочу фильтровать любой CSS (а не что-либо происходящее).быть названным "* .css").Любые указатели о том, как это сделать?