HTTPModule для статических файлов иногда не работает на IIS 6 - PullRequest
1 голос
/ 28 августа 2009

У меня есть и модуль HTTP, который очищает, сжимает и минимизирует файлы CSS, JS и HTML на основе их заголовка типа содержимого. Он отлично работает в моей промежуточной среде и локальном хосте (ISS7, классический конвейерный режим). На IIS 6 (производство) это не надежно. Спорадически эти статические файлы перестают обрабатываться asp.net и, похоже, возвращаются к обработчику IIS по умолчанию. Если я коснусь web.config или сделаю IISRESET, он на некоторое время снова начнет работать правильно. Даже когда модуль входит в это «дурацкое состояние», файлы .aspx все еще проходят через модуль, как и ожидалось. Итак, я совершенно уверен, что проблема не в модуле, а в том, что мы рассматриваем, это проблема IIS.

  1. У меня есть файлы HTML, JS и CSS, сопоставленные в IIS 6, для обработки aspnet_isapi.dll для всех глаголов.
  2. В моем файле web.config я установил, что эти статические файлы должны обрабатываться System.Web.StaticFileHandler в разделе обработчиков также для всех глаголов.
  3. Модуль HTTP также подключен к web.config.

Есть идеи? Я бы пока не хотел обновлять свой производственный веб-сервер до IIS 7!

Ответы [ 2 ]

1 голос
/ 28 августа 2009

Я бы с большой уверенностью сказал, что проблема кроется в вашем HttpModule. Возможно, проблема может быть в потоке. Модуль HttpModule создается только один раз для всех запросов, поэтому, если вы сохраните данные в переменных-членах класса, у вас возникнет проблема, поскольку несколько потоков будут одновременно обращаться к одним и тем же данным.

Кстати, думаю, я бы предложил альтернативное решение вашей проблемы. Создайте скрипт сборки, используя, например, MSBuild, и пусть скрипт сборки сжимает файлы.

0 голосов
/ 28 августа 2009

Большая разница между разработкой и производством заключается в объеме трафика.

Том может выделить проблемы параллелизма, которые не встречались при тестировании разработки с низким трафиком.

Вы уверены, что в вашем коде нет проблем с потоками и т. Д.

...