Сначала давайте поговорим о том, как работает Asp.net.
Конкретное описание выглядит следующим образом: Сначала клиент запрашивает веб-страницу. Затем веб-служба ищет файл инструкций (.aspx), и это обрабатывается библиотекой динамической компоновки aspnet_isapi.dll. Затем код Asp.net отправляется в среду CLR для компиляции. Затем поток HTML возвращается в браузер и упорядочивается. Наконец, браузер обрабатывает HTML и отображает страницу.
Что такое ISAPI?
В начале эры Интернета потребности клиентов были очень ограничены: все, что им было нужно, — это файлы .htm. Однако со временем потребности клиента расширились за пределы функциональности, содержащейся в файлах .htm или статических файлах.
Разработчикам необходимо расширить или расширить функциональность веб-сервера. Поставщики веб-серверов разработали разные решения, но все они придерживаются одной и той же темы — вставки определенных компонентов в веб-сервер. Все дополнительные технологии веб-сервера позволяют разработчикам создавать и подключать компоненты для улучшения функциональности веб-сервера. Microsoft предложила ISAPI (API Интернет-сервера), Netscape предложила NSAPI (API сервера Netscape) и так далее. ISAPI — это важная технология, которая позволяет нам расширить возможности ISAPI-совместимых веб-серверов (IIS — это ISAPI-совместимый веб-сервер). Для этого мы используем следующие компоненты:
1. Расширение ISAPI: расширение ISAPI реализовано с использованием библиотеки динамической компоновки Win32. Вы можете думать о расширении ISAPI как о обычном приложении. Целью обработки расширения ISAPI является http-запрос.
2. Фильтр ISAPI. Каждый раз, когда клиент отправляет запрос серверу, запрос должен пройти через фильтр. Клиенту не нужно указывать фильтр в запросе, он просто отправляет запрос веб-серверу, а веб-сервер передает запрос соответствующему фильтру. Далее фильтр может изменить запрос, выполнить некоторые операции входа в систему и т. д.
Процесс обработки запроса ASP.NET:
Процесс обработки запросов ASP.NET основан на модели конвейера, в которой ASP.NET передает HTTP-запросы всем модулям в конвейере. Каждый модуль получает http-запросы и имеет полный контроль. Модули могут обрабатывать запросы любым удобным для них способом. Как только запрос проходит через все модули HTTP, он наконец обрабатывается обработчиком HTTP. Обработчик HTTP выполняет некоторую обработку запроса, и результат снова проходит через модуль HTTP в конвейере.
ISAPI-фильтр:
Сам IIS не поддерживает динамические страницы, а это означает, что он поддерживает только содержимое статических HTML-страниц. Например, .asp, .aspx, .cgi, .php и т. д. IIS не будет обрабатывать эти теги, он будет их обрабатывать. as Текст композиции отправляется клиенту без какой-либо обработки. Чтобы решить эту проблему. В IIS имеется механизм, называемый фильтром ISAPI, который является стандартным компонентом (компонент COM).
Когда служба Asp.net регистрируется в IIS, она регистрирует расширения файлов, которые каждое расширение может обрабатывать в IIS (например: *.ascx, *.aspx и т. д.). После запуска расширения оно обрабатывает файлы, которые не могут быть обработаны IIS в соответствии с определенным методом, а затем передает управление процессу, который специально обрабатывает код, позволяя этому процессу начать обработку кода, генерировать стандартный HTML-код и помещать эти коды после создания добавьте его в исходный HTML-код и, наконец, верните полный HTML-код в IIS, а затем IIS отправит содержимое клиенту.