Belangrijk verschil: ASP staat voor Active Server Pages. Het is algemeen bekend als Classic ASP of ASP Classic. Het is een server-side scripting-omgeving die is ontwikkeld en vrijgegeven door Microsoft. ASP.NET is een framework voor webtoepassingen aan de serverzijde. ASPX staat voor Active Server Pages Extended. Het is ontworpen voor webontwikkeling om dynamische webpagina's te produceren. Beide ondersteunen de context van een sessie. Een sessieobject slaat informatie op over of wijzig instellingen voor een gebruikerssessie. In wezen noteert het alles wat een gebruiker ziet en doet op een pagina, met name elke wijziging die de gebruiker op de pagina kan aanbrengen.
ASP wordt voornamelijk gebruikt voor het maken en uitvoeren van dynamische, interactieve webservertoepassingen. Hiermee kunt u ook HTML-pagina's, scriptopdrachten en COM-componenten combineren om interactieve webpagina's en krachtige webtoepassingen te maken. Het maakt het ook eenvoudiger om de genoemde webtoepassingen te ontwikkelen en aan te passen.
Na de oorspronkelijke release zijn er twee versie-releases. De ASP 2.0 introduceerde zes ingebouwde objecten voor het origineel, waaronder Toepassing, ASPError, Verzoek, Reactie, Server en Sessie. ASP 3.0 introduceerde enkele aanvullende verbeteringen, zoals Server.Transfer-methode, Server.Execute-methode en een verbeterd ASPError-object. Daarnaast heeft ASP 3.0 standaard ook buffering ingeschakeld en de motor geoptimaliseerd voor betere prestaties. Vanaf mei 2013 zijn er echter geen geplande upgrades naar ASP.
ASP.NET is gebouwd op de Common Language Runtime (CLR). Hierdoor kunnen programmeurs ASP.NET-code schrijven met behulp van elke ondersteunde .NET-taal. ASP.NET-webpagina's zijn ook algemeen bekend als webformulieren. Ze bevatten statische (X) HTML-markeringen. Het bevat ook markeringen die Webregelingen en gebruikersbesturingen aan de serverzijde definiëren. Hier plaatsen ontwikkelaars alle rc-inhoud voor de webpagina.
In ASP.NET Framework 2.0 is een nieuw code achter model geïntroduceerd. Hierdoor blijft statische tekst op de ASPX-pagina staan, terwijl dynamische code in een ASPX.VB- of ASPX.CS- of ASPX.FS-bestand blijft. De locatie van de dynamische code is afhankelijk van de gebruikte programmeertaal.
Beide ondersteunen de context van een sessie. Een sessieobject slaat informatie op over of wijzig instellingen voor een gebruikerssessie. In wezen noteert het alles wat een gebruiker ziet en doet op een pagina, met name elke wijziging die de gebruiker op de pagina kan aanbrengen. Dit heeft een voordeel, want in het geval dat het systeem crasht tussen de wijzigingen die de gebruiker probeerde aan te brengen, zullen de wijzigingen niet verloren gaan wanneer het systeem is gecrasht. De sessie zou het geheugen bewaren van waar de gebruiker was gebleven.
De sessie is in wezen een webpagina-cookie. Het slaat waarden op en haalt deze op voor een gebruiker terwijl de gebruiker de webpagina navigeert. De variabelen die zijn opgeslagen in een Session-object bevatten informatie over één enkele gebruiker en zijn beschikbaar voor alle pagina's in één toepassing. Sommige algemene informatie die is opgeslagen in sessievariabelen is naam, ID en voorkeuren. De server maakt een nieuw Session-object voor elke nieuwe gebruiker en vernietigt het Session-object wanneer de sessie verloopt.
Enkele verschillen tussen ASP Session en ASP.NET Session:
- In ASP is de sessie procesafhankelijk, terwijl in ASP.NET de sessie procesonafhankelijk is.
- In ASP is de sessie afhankelijk van cookies, terwijl in ASP.NET de sessie onafhankelijk is van cookies.
- ASP-sessiestatus heeft geen inherente oplossing om met Web Farms te werken. ASP.NET sessie kan worden opgeslagen in de staatsserver en SQL SERVER die meerdere servers kan ondersteunen.
- ASP-sessie werkt alleen als browser cookies ondersteunt, ASP.NET-sessie wordt onafhankelijk uitgevoerd.
- ASP-sessiestatus is erg afhankelijk van het IIS-proces. Als IIS opnieuw opstart, worden ASP-sessievariabelen ook gerecycled. Terwijl de ASP.NET-sessie onafhankelijk kan zijn van de hostingomgeving, kan de ASP.NET-sessie dus worden gehandhaafd, zelfs als IIS opnieuw wordt opgestart.
- ASP-sessie met beperkingen van serverfarm. Naarmate gebruikers van server naar server gaan in een webserverfarm, volgt hun sessiestatus deze niet. ASP.NET-sessiestatus heeft ondersteuning voor server farm-configuraties. Het gaat naar een out-of-process-model, waardoor het probleem met de server farm niet wordt opgelost.