Я думаю, что вы пытаетесь решить, имея один запрос на файл CSS, а не несколько запросов на все файлы CSS.
Я не думаю, что какое-либо из ваших решений сработает,Если я понимаю, что ты делаешь.Если вы захватите все запрошенные файлы и добавите одну ссылку для обработки агрегированной версии, как вы решите, что фактически помещается в обработчик при выполнении запроса?
Лучшим решением было бы добавить однуссылка на вашей главной странице на обработчик.Затем ваш обработчик собирает CSS-файлы, сжимает их, кэширует и выводит.
Редактировать: Чтобы ответить на комментарий: "Я минимизирую в процессе сборки ... яиспользовать сжатие IIS ... агрегированная версия выглядит примерно так: css.ashx? file1.css, file2.css, someOtherfile.css файлы разделяются запятыми. И я справляюсь с логикой ... Тогда я могу добавить кеширование иПользовательские заголовки в ответе .... Получить? "
На мой взгляд.Кажется немного глупым создавать эту ссылку при каждом запросе страницы.Это кажется ненужным.Идея в порядке, и это то, что я делаю (по-разному), но я не согласен с вашим подходом.
Я видел посты в блогах, в которых подробно описан процесс минимизации процесса сборки, что хорошо, но если вам нужноЧтобы внести незначительные изменения в CSS, вы не можете просто быстро перейти на сервер, изменить значение и покончить с этим, вам на самом деле нужно снова пройти процесс сборки и загрузить один файл.
Также я не думаю, что иметь все ваши файлы в качестве параметров - это хорошая идея, вы создаете кучу разных URL для каждой страницы.
Способ, которым я делаю это, - создание одного обработчика с 2значения строки запроса.Ключ и версия.
Ключ находится в наборе приложений web.config с разделенной запятыми строкой CSS-файлов для включения.
Запрос к обработчику сделан, он ищетключ / версия в кеше, если он не существует, он получает значение из файла web.config, загружает все файлы, минимизирует их, сжимает и кэширует.Добавить все заголовки и вывести запрос.
Редактировать 2: Другой способ, которым вы можете сделать это, это просто иметь одну ссылку и использовать метод объединения / минификации в процессе сборки.Даже если вы объединяете несколько CSS-файлов, не используемых на домашней странице, они должны быть относительно небольшими, и, поскольку они кэшируются, вы ускоряете запрос на запрос второй страницы.
В вашем сценарииВы требуете, чтобы браузер отправил запрос на уже имеющиеся у него CSS-файлы, а также дополнительные CSS-файлы, которые вы, возможно, включили на вторую страницу.(если это имеет смысл)
Домашняя страница - css.ashx? files = css1.css, css2.css, css3.cssAboutPage - css.ashx? Files = css1.css, css3.css
Это бессмысленно, поскольку вы могли бы повторно использовать css с домашней страницы для отображения страницы about.