Как я могу предотвратить прохождение определенных типов файлов через конвейер ASP.NET (попадание в global.asax и т. Д.)?
Как уберечь изображения (и другие файлы) от конвейера ASP.NET
Ответы (4)
Какой режим вы используете? Интегрированный конвейер или классический? Думаю, это повлияет на ответ.
Но по сути, вам просто нужно убедиться, что ваш обработчик StaticFiles не сопоставлен с ASP.NET.
global.asax - это HttpModule, и он будет вызываться для каждого запроса, проходящего через механизм ASP.NET. Например, изображения проходят через движок ASP.NET. Они обрабатываются как статические файлы.
Обратите внимание: если вы используете встроенный веб-сервер Visual Studio (вы говорите, что устанавливаете точки останова), вы можете столкнуться с небольшими различиями в поведении. Цитата из Каковы (не) преимущества использования Cassini вместо IIS?
Еще одним недостатком является то, что он отправляет каждый запрос через глобальный файл asax, который включает все запросы изображений и таблиц стилей. Это означает, что если у вас есть код, который что-то делает с именами файлов, например, ищет, то вспомогательные файлы тоже будут обработаны.
Если вы используете домашнюю версию Windows и из-за этого не можете установить IIS, рассмотрите возможность использования UltiDev Web Server Pro. Он бесплатный, легкий и, в отличие от Cassini, обрабатывает запросы статического содержимого вне конвейера ASP.NET.