Keskeinen ero: ASP tarkoittaa Active Server Pagesia. Se tunnetaan yleisesti nimellä Classic ASP tai ASP Classic. Se on Microsoftin kehittämä ja julkaisema palvelinpuolen komentosarjaympäristö. ASP.NET on palvelinpuolen Web-sovelluskehys. ASPX tarkoittaa Active Server Pages Extendedia. Se on suunniteltu Web-sivuston kehittämiseksi dynaamisten verkkosivujen tuottamiseksi. Molemmat tukevat istunnon kontekstia. Istuntoobjekti tallentaa tietoja käyttäjätiedoista tai muuttaa niitä. Pohjimmiltaan se toteaa kaiken, mitä käyttäjä näkee ja tekee sivulla, varsinkin mitä muutoksia käyttäjä voi sisällyttää sivulle.
ASP: tä käytetään pääasiassa dynaamisten vuorovaikutteisten Web-palvelinsovellusten luomiseen ja suorittamiseen. Se mahdollistaa myös HTML-sivujen, komentosarjojen ja COM-komponenttien yhdistämisen interaktiivisten Web-sivujen ja tehokkaiden Web-pohjaisten sovellusten luomiseen. Se helpottaa myös mainittujen Web-sovellusten kehittämistä ja muokkaamista.
Alkuperäisen julkaisun jälkeen on julkaistu kaksi versiota. ASP 2.0 toi alkuperäiseen kuusi sisäänrakennettua objektia, jotka olivat Application, ASPError, Request, Response, Server ja Session. ASP 3.0 esitteli joitakin lisäparannuksia, kuten Server.Transfer -menetelmää, Server.Execute-menetelmää ja tehostettua ASPError-objektia. Lisäksi ASP 3.0 on myös mahdollistanut puskuroinnin oletusarvoisesti ja optimoinut moottorin parempaan suorituskykyyn. Toukokuun 2013 jälkeen ASP: lle ei kuitenkaan ole suunniteltu päivityksiä.
ASP.NET on rakennettu yhteiseen kieleen (CLR). Tämän avulla ohjelmoijat voivat kirjoittaa ASP.NET-koodia käyttäen mitä tahansa tuettua .NET-kieltä. ASP.NET-verkkosivut tunnetaan myös yleisesti Web-lomakkeina. Ne sisältävät staattista (X) HTML-merkintää. Se sisältää myös merkinnän, joka määrittelee palvelinpuolen Web-ohjaimet ja käyttäjäohjaukset. Tässä kehittäjät sijoittavat kaikki rc-sisällön Web-sivulle.
ASP.NET Framework 2.0: ssa otettiin käyttöön uusi koodin takana oleva malli. Tämä mahdollistaa staattisen tekstin pysymisen .aspx-sivulla, kun taas dynaaminen koodi pysyy .aspx.vb- tai .aspx.cs- tai .aspx.fs-tiedostossa. Dynaamisen koodin sijainti riippuu käytetystä ohjelmointikielestä.
Molemmat tukevat istunnon kontekstia. Istuntoobjekti tallentaa tietoja käyttäjätiedoista tai muuttaa niitä. Pohjimmiltaan se toteaa kaiken, mitä käyttäjä näkee ja tekee sivulla, varsinkin mitä muutoksia käyttäjä voi sisällyttää sivulle. Tällä on etu, sillä jos järjestelmä kaatuu käyttäjän tekemien muutosten välillä, muutokset eivät menetä, kun järjestelmä kaatui. Istunto säilyttäisi muistin siitä, mihin käyttäjä jätti.
Istunto on olennaisesti web-sivun eväste. Se tallentaa ja noutaa arvot käyttäjälle, kun käyttäjä navigoi verkkosivulla. Session-objektiin tallennetut muuttujat pitävät tietoja yhdestä ainoasta käyttäjästä ja ovat kaikkien sovellusten kaikkien sivujen käytettävissä. Jotkin istunnon muuttujiin tallennetut yleiset tiedot ovat nimi, tunnus ja asetukset. Palvelin luo jokaiselle uudelle käyttäjälle uuden istuntoobjektin ja tuhoaa istuntoobjektin istunnon päättyessä.
Joitakin eroja ASP-istunnon ja ASP.NET-istunnon välillä:
- ASP: ssä istunto on prosessista riippuvainen, kun taas ASP.NET: ssä istunto on prosessista riippumaton.
- ASP: ssä istunto on evästeestä riippuvainen, kun taas ASP.NET: ssä istunto on evästeestä riippumaton.
- ASP-istunnon tilalla ei ole luontaista ratkaisua Web Farmsin kanssa. ASP.NET-istunto voidaan tallentaa tilapalvelimeen ja SQL SERVERiin, joka voi tukea useita palvelimia.
- ASP-istunto toimii vain, kun selain tukee evästeitä, ASP.NET-istunto toimii riippumatta.
- ASP-istuntotila on hyvin riippuvainen IIS-prosessista. Jos IIS käynnistyy uudelleen, myös ASP-istunnon muuttujat kierrätetään. ASP.NET-istunto voi olla riippumaton hosting-ympäristöstä, joten ASP.NET-istunto voidaan ylläpitää, vaikka IIS-ohjelmisto käynnistyy uudelleen.
- ASP-istunto kohtaa palvelimen tilan rajoitukset. Kun käyttäjät siirtyvät palvelimelta palvelimelle Web-palvelimen tilalla, niiden istunnon tila ei noudata niitä. ASP.NET-istunnon tilassa on tukea palvelimen tilakokoonpanoille. Se siirtyy prosessin ulkopuoliseen malliin, joten se ei kohdistu palvelinyrityksen ongelmaan.