Hauptunterschied: ASP steht für Active Server Pages. Es wird allgemein als Classic ASP oder ASP Classic bezeichnet. Es handelt sich um eine serverseitige Skriptumgebung, die von Microsoft entwickelt und veröffentlicht wurde. ASP.NET ist ein serverseitiges Webanwendungsframework. ASPX steht für Active Server Pages Extended. Es wurde für die Webentwicklung entwickelt, um dynamische Webseiten zu erstellen. Beide unterstützen den Kontext einer Sitzung. Ein Sitzungsobjekt speichert Informationen über oder ändert Einstellungen für eine Benutzersitzung. Im Wesentlichen werden alle Aktivitäten, die ein Benutzer auf einer Seite sieht und tut, festgehalten, insbesondere alle Änderungen, die der Benutzer auf der Seite vornehmen kann.
ASP wird hauptsächlich zum Erstellen und Ausführen dynamischer, interaktiver Webserveranwendungen verwendet. Außerdem können HTML-Seiten, Skriptbefehle und COM-Komponenten kombiniert werden, um interaktive Webseiten und leistungsstarke webbasierte Anwendungen zu erstellen. Es erleichtert auch das Entwickeln und Ändern der genannten Webanwendungen.
Nach seiner ursprünglichen Version gab es zwei Versionsversionen. In ASP 2.0 wurden dem Objekt sechs vordefinierte Objekte hinzugefügt, nämlich Application, ASPError, Request, Response, Server und Session. ASP 3.0 führte einige zusätzliche Verbesserungen ein, z. B. die Server.Transfer-Methode, die Server.Execute-Methode und ein erweitertes ASPError-Objekt. Darüber hinaus hat ASP 3.0 standardmäßig auch die Pufferung aktiviert und die Engine für eine bessere Leistung optimiert. Ab Mai 2013 sind jedoch keine Upgrades auf ASP geplant.
ASP.NET basiert auf der Common Language Runtime (CLR). Dadurch können Programmierer ASP.NET-Code in jeder unterstützten .NET-Sprache schreiben. ASP.NET-Webseiten werden auch als Web Forms bezeichnet. Sie enthalten statisches (X) HTML-Markup. Es enthält auch ein Markup, das serverseitige Websteuerelemente und Benutzersteuerelemente definiert. Hier legen Entwickler den gesamten rc-Inhalt für die Webseite ab.
In ASP.NET Framework 2.0 wurde ein neues Code-Behind-Modell eingeführt. Dadurch kann statischer Text auf der ASPX-Seite verbleiben, während dynamischer Code in einer ASPX.VB- oder ASPX.cs- oder ASPX.FS-Datei verbleibt. Die Position des dynamischen Codes hängt von der verwendeten Programmiersprache ab.
Beide unterstützen den Kontext einer Sitzung. Ein Sitzungsobjekt speichert Informationen über oder ändert Einstellungen für eine Benutzersitzung. Im Wesentlichen werden alle Aktivitäten, die ein Benutzer auf einer Seite sieht und tut, festgehalten, insbesondere alle Änderungen, die der Benutzer auf der Seite vornehmen kann. Dies hat den Vorteil, dass bei einem Absturz des Systems zwischen den vom Benutzer beabsichtigten Änderungen die Änderungen nicht verloren gehen, wenn das System abstürzt. Die Sitzung würde die Erinnerung behalten, wo der Benutzer aufgehört hat.
Die Sitzung ist im Wesentlichen ein Webseiten-Cookie. Es speichert und ruft Werte für einen Benutzer ab, während der Benutzer auf der Webseite navigiert. Die in einem Session-Objekt gespeicherten Variablen enthalten Informationen zu einem einzelnen Benutzer und stehen allen Seiten in einer Anwendung zur Verfügung. Einige allgemeine Informationen, die in Sitzungsvariablen gespeichert werden, sind Name, ID und Voreinstellungen. Der Server erstellt für jeden neuen Benutzer ein neues Sitzungsobjekt und zerstört das Sitzungsobjekt, wenn die Sitzung abläuft.
Einige Unterschiede zwischen ASP-Sitzung und ASP.NET-Sitzung:
- In ASP ist die Sitzung prozessabhängig, wohingegen in ASP.NET die Sitzung prozessunabhängig ist.
- In ASP ist die Sitzung von Cookies abhängig, während in ASP.NET die Sitzung von Cookies unabhängig ist.
- Der ASP-Sitzungsstatus bietet keine inhärente Lösung für die Arbeit mit Webfarmen. Die ASP.NET-Sitzung kann im Statusserver und SQL SERVER gespeichert werden, die mehrere Server unterstützen können.
- Die ASP-Sitzung funktioniert nur, wenn der Browser Cookies unterstützt. Die ASP.NET-Sitzung wird unabhängig davon ausgeführt.
- Der ASP-Sitzungsstatus ist sehr stark vom IIS-Prozess abhängig. Wenn IIS neu startet, werden auch ASP-Sitzungsvariablen wiederverwendet. Während die ASP.NET-Sitzung unabhängig von der Hostumgebung sein kann, kann die ASP.NET-Sitzung auch bei einem Neustart von IIS beibehalten werden.
- ASP-Sitzung weist Einschränkungen der Serverfarm auf. Wenn Benutzer in einer Webserverfarm von Server zu Server wechseln, folgt ihr Sitzungsstatus nicht ihnen. Der ASP.NET-Sitzungsstatus unterstützt Serverfarmkonfigurationen. Es wird zu einem Out-of-Process-Modell verschoben, sodass das Problem mit der Serverfarm nicht auftritt.