ASP vs. ASP.Netz

ASP vs. ASP.Netz

ASP Und ASP.Netz sind sehr unterschiedliche Programmiersprachen. ASP ist eine Skriptsprache, wo als ASP.NETZ ist die Webformulierung einer kompilierten Sprache (Visual Basic, C#, J#, C++, .Netz). Darüber hinaus im Gegensatz zu ASP, ASP.Netz ist eine objektorientierte Sprache.

Prozessisolation

ASP wird unter dem Inetinfo ausgeführt.EXE (IIS) Prozessraum und ist daher anfällig für Anwendungsabstürze, da IIS gestoppt oder neu gestartet wird.

Andererseits der ASP.Der Netto -Arbeiterprozess ist ein eigener Prozess (ASPNET_WP.exe) vom IIS -Prozess inetinfo getrennt.exe. Das Prozessmodell in ASP.NET hat nichts mit der Prozessisolationseinstellungen in IIS zu tun.

Interpretation vs. Zusammenstellung

Wenn eine traditionelle ASP -Seite angefordert wird, ist der Text dieser Seite linear analysiert. Alle Inhalte, die kein serverseitiges Skript sind. Das gesamte serverseitige Skript auf der Seite wird zuerst über den entsprechenden Interpreter (JScript oder VBScript) ausgeführt, dessen Ausgabe dann wieder auf die Antwort zurückgeführt wird.

Im Gegensatz dazu ASP.Netzseiten werden immer zusammengestellt in .Nettoklassen, die in den Baugruppen untergebracht sind. Diese Klasse enthält den gesamten serverseitigen Code und den statischen HTML. Dies beseitigt alle Ineffizienzen des Skriptmodells des traditionellen ASP.

Leistungsauswirkungen

  • Da ASP -Skripte im laufenden Fliegen interpretiert werden, gibt es eine Leistungswirkung. Eine häufige Optimierung für ASP-Anwendungen besteht daher darin, eine Menge serverseitiger Skript in vorkompilierte COM-Komponenten zu verschieben, um die Reaktionszeiten zu verbessern. Da alle Komponenten in ASP.NET sind Assemblys, es gibt keinen Leistungsverschlechterung mithilfe des serverseitigen Codes.
  • Mit ASP ist die Mischung serverseitiger Bewertungsblöcke mit statischer HTML weniger effizient als ein einzelner serverseitiger Skriptblock, da der Interpreter mehrmals aufgerufen werden muss. Um dies zu vermeiden, greifen viele ASP-Entwickler auf große Blöcke des serverseitigen Skripts zurück und ersetzen statische HTML-Elemente durch Reaktion.Write () Aufrufe stattdessen stattdessen. Für ASP.Netto sind solche Schritte nicht für die Verbesserung der Leistungsverbesserung erforderlich.
  • Mit ASP können verschiedene Skriptblöcke innerhalb einer Seite in verschiedenen Skriptsprachen geschrieben werden. Dies mag zwar in gewisser Weise ansprechend sein, dadurch wird auch die Leistung beeinträchtigt, indem eine bestimmte Seite sowohl Scripting -Motoren (JScript, VBScript) geladen werden, um eine Anfrage zu verarbeiten, die mehr Zeit und Speicher benötigt als nur eine Sprache zu verwenden. ASP.Net hat "Code-Behind" in .ASPX -Dateien, die analysiert und zusammengestellt werden. Mehrere serverseitige Sprachen können nicht innerhalb einer einzigen verwendet werden .ASPX -Datei.

Debuggen

Da ASP die Interpretation von Skripten beinhaltet, ist das Debuggen schwierig. Aber mit ASP.Netz, alle Tools, die dem zur Verfügung stehen .Nettoentwickler sind für die anwendbar .ASPX -Entwickler. Fehler mit Seiten werden als Compiler -Fehler generiert, und es besteht eine gute Chance, dass die meisten Fehler zur Kompilierungszeit anstelle der Laufzeit gefunden werden, weil VB.Net und C# sind beide stark getippte Sprachen.