IIS 6.0 et versions précédentes:
ASP.NET intégré à IIS via une extension ISAPI, une API C (API basée sur le langage de programmation C) et exposé son propre modèle de traitement des demandes et des applications.
Cela a effectivement exposé deux pipelines de serveurs distincts (demande / réponse), un pour les filtres natifs ISAPI et les composants d'extension, et un autre pour les composants des applications gérées. Les composants ASP.NET s'exécuteraient entièrement à l'intérieur de la bulle d'extension ISAPI ASP.NET ET UNIQUEMENT pour les demandes mappées sur ASP.NET dans la configuration de mappage de script IIS.
Demandes à des types de contenu non ASP.NET: - les images, les fichiers texte, les pages HTML et les pages ASP sans script ont été traités par IIS ou d'autres extensions ISAPI et n'étaient PAS visibles par ASP.NET.
La principale limitation de ce modèle était que les services fournis par les modules ASP.NET et le code d'application ASP.NET personnalisé n'étaient PAS disponibles pour les demandes non ASP.NET
Qu'est-ce qu'une carte SCRIPT?
Les mappages de script sont utilisés pour associer des extensions de fichier au gestionnaire ISAPI qui s'exécute lorsque ce type de fichier est demandé. La mappe de script possède également un paramètre facultatif qui vérifie que le fichier physique associé à la demande existe avant de permettre le traitement de la demande
Un bon exemple peut être seen here
IIS 7 et supérieur
IIS 7.0 et versions ultérieures ont été entièrement repensées pour fournir une toute nouvelle ISAPI basée sur l'API C ++.
IIS 7.0 et versions ultérieures intègrent le runtime ASP.NET avec les fonctionnalités de base du serveur Web, fournissant un pipeline de traitement des demandes unifié (unique) qui est exposé aux composants natifs et gérés appelés modules (IHttpModules)
Cela signifie que IIS 7 traite les demandes qui arrivent pour tout type de contenu, avec les deux NON ASP.NET Modules / native IIS modules
et ASP.NET modules
fournissant le traitement des demandes à toutes les étapes.C'est la raison pour laquelle les types de contenu NON ASP.NET (.html, fichiers statiques) peuvent être traités par les modules .NET .
- Vous pouvez créer de nouveaux modules gérés (
IHttpModule
) pouvant s'exécuter pour tout le contenu de l'application et fournir un ensemble amélioré de services de traitement des demandes à votre application.
- Ajouter de nouveaux gestionnaires gérés (
IHttpHandler
)