Как я могу опередить IIS StaticFileHandler с моим собственным HttpHandler - PullRequest
1 голос
/ 30 апреля 2009

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

В web.config у меня есть запись в разделе, которая гласит

<add verb="*" 
     path="/embedded/controlscripts/*" 
     validate="false" 
     type="CWeb.Controls.Web.HttpResourcesHandler, CWeb.Controls.EditBox" />

Этот элемент управления и веб-сайт работает совершенно нормально при отладке с помощью сервера веб-разработки Visual Studio, но если я затем переключаю веб-сайт на IIS (v7 - у меня Vista, и, похоже, проблем с отладкой нет сайт использует IIS 5 или 6), элемент управления больше не может получить доступ к сценариям. Я получаю сообщение об ошибке HTTP 404.0, указывающее, что StaticFileHandler не может найти файл. Я знаю, что это встроено.

Таким образом, StaticFileHandler, кажется, захватывает запрос сценария перед моим собственным и возвращает 404. Как я могу сказать IIS использовать мой собственный обработчик ресурсов для каталога внедренного / controlscripts, а не staticfilehandler? Кстати, я запускаю сайт в классическом режиме.

1 Ответ

2 голосов
/ 30 октября 2009

Я тоже наткнулся на это. Моя ошибка заключалась в том, что я зарегистрировал обработчик в system.web вместо system.webserver.

Проверьте это сообщение для деталей

...