IIS 6.0 и предыдущие версии:
ASP.NET, интегрированный с IIS через расширение ISAPI, C API (API, основанный на языке программирования C), и представил свою собственную модель обработки приложений и запросов.
В результате были получены два отдельных конвейера сервера (запрос / ответ), один для собственных фильтров ISAPI и компонентов расширений, а другой - для компонентов управляемых приложений. Компоненты ASP.NET будут полностью выполняться внутри пузыря расширения ISAPI ASP.NET И ТОЛЬКО для запросов, сопоставленных с ASP.NET в конфигурации карты сценариев IIS.
Запросы к типам содержимого, не относящимся к ASP.NET: - изображения, текстовые файлы, HTML-страницы и ASP-страницы без сценариев обрабатывались IIS или другими расширениями ISAPI и НЕ были видны ASP.NET.
Основным ограничением этой модели было то, что службы, предоставляемые модулями ASP.NET и пользовательским кодом приложения ASP.NET, НЕ были доступны для запросов, не относящихся к ASP.NET
Что такое КАРТА СКРИПТА?
Карты сценариев используются для связи расширений файлов с обработчиком ISAPI, который выполняется, когда запрашивается этот тип файла. Карта сценариев также имеет необязательный параметр, который проверяет, существует ли физический файл, связанный с запросом, прежде чем разрешить обработку запроса
Хорошим примером может быть seen here
IIS 7 и выше
IIS 7.0 и выше были переработаны с нуля, чтобы обеспечить новый ISAPI на основе C ++ API.
IIS 7.0 и выше интегрирует среду выполнения ASP.NET с основными функциями веб-сервера, предоставляя унифицированный (единый) конвейер обработки запросов, который доступен как для собственных, так и для управляемых компонентов, известных как модули (IHttpModules)
Это означает, что IIS 7 обрабатывает запросы, поступающие для любого типа контента, причем NON ASP.NET Modules / native IIS modules
и ASP.NET modules
обеспечивают обработку запросов на всех этапах Именно поэтому NON ASP Типы содержимого .NET (.html, статические файлы) могут обрабатываться модулями .NET.
- Вы можете создавать новые управляемые модули (
IHttpModule
), которые имеют возможность выполнения для всего содержимого приложения и предоставляют расширенный набор служб обработки запросов для вашего приложения.
- Добавление новых управляемых обработчиков (
IHttpHandler
)