Tout d’abord, parlons du fonctionnement d’Asp.net.
La description spécifique est la suivante : Tout d'abord, le client demande la page WEB. Ensuite, le service WEB recherche le fichier d'instructions (.aspx), et celui-ci est géré par la bibliothèque de liens dynamiques aspnet_isapi.dll. Le code Asp.net est ensuite envoyé au Common Language Runtime pour compilation. Le flux HTML est ensuite renvoyé au navigateur et ordonné. Enfin, le navigateur traite le HTML et affiche la page.
Qu’est-ce qu’ISAPI ?
Au début de l’ère Internet, les clients avaient des besoins très limités ; les fichiers .htm suffisaient. Cependant, au fil du temps, les besoins des clients se sont étendus au-delà des fonctionnalités contenues dans les fichiers .htm ou les fichiers statiques.
Les développeurs doivent étendre ou étendre les fonctionnalités du serveur Web. Les fournisseurs de serveurs Web ont conçu différentes solutions, mais tous suivent le même thème d'insertion de certains composants dans le serveur Web. Toutes les technologies supplémentaires du serveur Web permettent aux développeurs de créer et de brancher des composants pour améliorer les fonctionnalités du serveur Web. Microsoft a proposé ISAPI (Internet Server API), Netscape a proposé NSAPI (Netscape Server API), etc. ISAPI est une technologie importante qui nous permet d'améliorer les capacités des serveurs Web compatibles ISAPI (IIS est un serveur Web compatible ISAPI). Nous utilisons les composants suivants pour y parvenir :
1. Extension ISAPI : l'extension ISAPI est implémentée à l'aide de la bibliothèque de liens dynamiques Win32. Vous pouvez considérer une extension ISAPI comme une application normale. La cible de traitement de l'extension ISAPI est la requête http.
2. Filtre ISAPI : Chaque fois que le client fait une requête au serveur, la requête doit passer par le filtre. Le client n'a pas besoin de spécifier un filtre dans la requête, mais envoie simplement la requête au serveur Web, et le serveur Web transmet la requête au filtre approprié. Ensuite, le filtre peut modifier la requête, effectuer certaines opérations de connexion, etc.
Processus de traitement des requêtes ASP.NET :
Le processus de traitement des requêtes ASP.NET est basé sur le modèle de pipeline, dans lequel ASP.NET transmet les requêtes http à tous les modules du pipeline. Chaque module reçoit des requêtes http et a un contrôle total. Les modules peuvent traiter les demandes comme bon leur semble. Une fois que la requête est passée par tous les modules HTTP, elle est finalement traitée par le gestionnaire HTTP. Le gestionnaire HTTP effectue un traitement sur la requête et le résultat passera à nouveau par le module HTTP dans le pipeline.
Filtres ISAPI :
IIS lui-même ne prend pas en charge les pages dynamiques, ce qui signifie qu'il ne prend en charge que le contenu des pages HTML statiques. Par exemple, .asp, .aspx, .cgi, .php, etc., IIS ne traitera pas ces balises, il les traitera. as Le texte de composition est envoyé au client sans aucun traitement. Afin de résoudre ce problème. IIS dispose d'un mécanisme appelé filtre ISAPI, qui est un composant standard (composant COM).
Lorsque le service Asp.net s'enregistre auprès d'IIS, il enregistre les extensions de fichiers que chaque extension peut gérer dans IIS (telles que : *.ascx, *.aspx, etc.). Une fois l'extension démarrée, elle traite les fichiers qui ne peuvent pas être traités par IIS selon la méthode définie, puis passe le contrôle à un processus qui gère spécifiquement le code, permettant à ce processus de commencer à traiter le code, de générer du code HTML standard et de mettre ces codes après génération. Ajoutez-le au HTML d'origine, et enfin renvoyez le HTML complet à IIS, puis IIS envoie le contenu au client.