Как уберечь изображения (и другие файлы) от конвейера ASP.NET

Как я могу предотвратить прохождение определенных типов файлов через конвейер ASP.NET (попадание в global.asax и т. Д.)?


person Brian David Berman    schedule 18.02.2010    source источник
comment
IIS 7.5, но мне нужно знать и о IIS 6.   -  person Brian David Berman    schedule 18.02.2010
comment
Это не должно быть с IIS6, если у вас не включено сопоставление подстановочных знаков.   -  person mxmissile    schedule 18.02.2010
comment
Вы проверили сопоставления обработчиков в IIS?   -  person womp    schedule 18.02.2010


Ответы (4)


Какой режим вы используете? Интегрированный конвейер или классический? Думаю, это повлияет на ответ.

Но по сути, вам просто нужно убедиться, что ваш обработчик StaticFiles не сопоставлен с ASP.NET.

person Bryan    schedule 18.02.2010

global.asax - это HttpModule, и он будет вызываться для каждого запроса, проходящего через механизм ASP.NET. Например, изображения проходят через движок ASP.NET. Они обрабатываются как статические файлы.

person ra00l    schedule 18.02.2010
comment
У меня есть точки останова в global.asax, которые возникают при запросе изображений в IIS 7.5. - person Brian David Berman; 18.02.2010
comment
проверьте раздел обработчиков IIS, чтобы узнать, сопоставили ли вы изображения с движком ASP.NET. Наверное, дело в том ... - person ra00l; 18.02.2010

Обратите внимание: если вы используете встроенный веб-сервер Visual Studio (вы говорите, что устанавливаете точки останова), вы можете столкнуться с небольшими различиями в поведении. Цитата из Каковы (не) преимущества использования Cassini вместо IIS?

Еще одним недостатком является то, что он отправляет каждый запрос через глобальный файл asax, который включает все запросы изображений и таблиц стилей. Это означает, что если у вас есть код, который что-то делает с именами файлов, например, ищет, то вспомогательные файлы тоже будут обработаны.

person Mads Ravn    schedule 18.02.2010
comment
Вы забыли ссылку на второй абзац. stackoverflow.com/questions/103785/ - person BoltClock; 17.09.2014

Если вы используете домашнюю версию Windows и из-за этого не можете установить IIS, рассмотрите возможность использования UltiDev Web Server Pro. Он бесплатный, легкий и, в отличие от Cassini, обрабатывает запросы статического содержимого вне конвейера ASP.NET.

person VladH    schedule 11.07.2011