Primeiro, vamos falar sobre como funciona o Asp.net.
A descrição específica é a seguinte: Primeiro, o cliente solicita a página WEB. Em seguida, o serviço WEB procura o arquivo de instruções (.aspx), e isso é tratado pela biblioteca de vínculo dinâmico aspnet_isapi.dll. O código Asp.net é então enviado ao Common Language Runtime para compilação. O fluxo HTML é então retornado ao navegador e ordenado. Finalmente, o navegador processa o HTML e exibe a página.
O que é ISAPI?
No início da era da Internet, os clientes tinham necessidades muito limitadas; os arquivos .htm eram tudo de que precisavam. No entanto, com o tempo, as necessidades do cliente foram expandidas além da funcionalidade contida em arquivos .htm ou estáticos.
Os desenvolvedores precisam expandir ou ampliar a funcionalidade do servidor web. Os fornecedores de servidores Web desenvolveram soluções diferentes, mas todos seguem o mesmo tema de inserção de determinados componentes no servidor Web. Todas as tecnologias complementares de servidor Web permitem que os desenvolvedores construam e conectem componentes para aprimorar a funcionalidade do servidor Web. A Microsoft propôs ISAPI (Internet Server API), a Netscape propôs NSAPI (Netscape Server API) e assim por diante. ISAPI é uma tecnologia importante que nos permite aprimorar os recursos dos servidores Web compatíveis com ISAPI (IIS é um servidor Web compatível com ISAPI). Usamos os seguintes componentes para conseguir isso:
1. Extensão ISAPI: a extensão ISAPI é implementada usando a biblioteca de vínculo dinâmico Win32. Você pode pensar em uma extensão ISAPI como um aplicativo normal. O alvo de processamento da extensão ISAPI é a solicitação http.
2. Filtro ISAPI: Toda vez que o cliente faz uma solicitação ao servidor, a solicitação deve passar pelo filtro. O cliente não precisa especificar um filtro na solicitação, simplesmente envia a solicitação ao servidor web, e o servidor web passa a solicitação para o filtro relevante. Em seguida, o filtro pode modificar a solicitação, realizar algumas operações de login, etc.
Processo de processamento de solicitação ASP.NET:
O processo de processamento de solicitações do ASP.NET é baseado no modelo de pipeline, no qual o ASP.NET passa solicitações http para todos os módulos do pipeline. Cada módulo recebe solicitações http e tem controle total. Os módulos podem lidar com solicitações da maneira que acharem adequada. Depois que a solicitação passa por todos os módulos HTTP, ela é finalmente processada pelo manipulador HTTP. O manipulador HTTP realiza algum processamento na solicitação e o resultado passará novamente pelo módulo HTTP no pipeline.
Filtros ISAPI:
O próprio IIS não oferece suporte a páginas dinâmicas, o que significa que ele suporta apenas o conteúdo de páginas HTML estáticas. Por exemplo, .asp, .aspx, .cgi, .php, etc., o IIS não processará essas tags, ele as tratará. as O texto da composição é enviado ao cliente sem qualquer processamento. Para resolver este problema. O IIS possui um mecanismo chamado filtro ISAPI, que é um componente padrão (componente COM).
Quando o serviço Asp.net se registra no IIS, ele registra as extensões de arquivo que cada extensão pode manipular no IIS (como: *.ascx, *.aspx, etc.). Depois que a extensão é iniciada, ela processa arquivos que não podem ser processados pelo IIS de acordo com o método definido e, em seguida, transfere o controle para um processo que lida especificamente com o código, permitindo que esse processo comece a processar o código, gere o código HTML padrão e coloque esses códigos após a geração. Adicione-os ao HTML original e, finalmente, retorne o HTML completo ao IIS e, em seguida, o IIS envia o conteúdo ao cliente.