IIS 6.0 und frühere Versionen:
ASP.NET wurde über eine ISAPI-Erweiterung, eine C-API (C Programming Language Based API) in IIS integriert und stellte ein eigenes Anwendungs- und Anforderungsverarbeitungsmodell bereit.
Dadurch wurden zwei separate Server-Pipelines (Anforderungs- / Antwort-Pipelines) verfügbar gemacht, eine für native ISAPI-Filter und Erweiterungskomponenten und eine für verwaltete Anwendungskomponenten. ASP.NET-Komponenten werden vollständig innerhalb der ASP.NET ISAPI-Erweiterungsblase UND NUR für Anforderungen ausgeführt, die ASP.NET in der IIS-Skriptzuordnungskonfiguration zugeordnet sind.
Anforderungen an Nicht-ASP.NET-Inhaltstypen: - Bilder, Textdateien, HTML-Seiten und skriptlose ASP-Seiten wurden von IIS oder anderen ISAPI-Erweiterungen verarbeitet und waren für ASP.NET NICHT sichtbar.
Die Hauptbeschränkung dieses Modells bestand darin, dass Dienste, die von ASP.NET-Modulen und benutzerdefiniertem ASP.NET-Anwendungscode bereitgestellt wurden, NICHT für Nicht-ASP.NET-Anforderungen verfügbar waren
Was ist eine SCRIPT-KARTE?
Skriptzuordnungen werden verwendet, um Dateierweiterungen dem ISAPI-Handler zuzuordnen, der ausgeführt wird, wenn dieser Dateityp angefordert wird. Die Skriptzuordnung verfügt außerdem über eine optionale Einstellung, mit der überprüft wird, ob die der Anforderung zugeordnete physische Datei vorhanden ist, bevor die Verarbeitung der Anforderung zugelassen wird
Ein gutes Beispiel kann sein seen here
IIS 7 und höher
IIS 7.0 und höher wurde von Grund auf überarbeitet, um eine brandneue C ++ API-basierte ISAPI bereitzustellen.
IIS 7.0 und höher integriert die ASP.NET-Laufzeit in die Kernfunktionalität des Webservers und bietet eine einheitliche (einzelne) Anforderungsverarbeitungspipeline, die sowohl nativen als auch verwalteten Komponenten ausgesetzt ist, die als Module (IHttpModules) bezeichnet werden.
Dies bedeutet, dass IIS 7 Anforderungen, die für einen beliebigen Inhaltstyp eingehen, mit beiden verarbeitet NON ASP.NET Modules / native IIS modules
und ASP.NET modules
die Anforderungsverarbeitung in allen Phasen bereitstellt. Dies ist der Grund, warum NON ASP.NET-Inhaltstypen (.html, statische Dateien) von .NET-Modulen verarbeitet werden können .
- Sie können neue verwaltete Module (
IHttpModule
) erstellen, die für alle Anwendungsinhalte ausgeführt werden können, und Ihrer Anwendung einen erweiterten Satz von Anforderungsverarbeitungsdiensten bereitstellen.
- Neue verwaltete Handler hinzufügen (
IHttpHandler
)