Ključna razlika: ASP označava Active Server Pages. To je obično poznat kao Classic ASP ili ASP Classic. To je okruženje skriptiranja na strani poslužitelja koje razvija i izdaje Microsoft. ASP.NET je okvir za web-aplikacije na strani poslužitelja. ASPX je kratica za Active Server Pages Extended. Dizajniran je za izradu web stranica za izradu dinamičkih web stranica. Oba podupiru kontekst sesije. Objekt sesije pohranjuje informacije ili mijenja postavke za korisničku sesiju. U suštini, on bilježi sve što korisnik vidi i radi na stranici, posebno bilo kakve promjene koje korisnik može ugraditi na stranicu.
ASP se uglavnom koristi za stvaranje i pokretanje dinamičkih, interaktivnih aplikacija web-poslužitelja. Također omogućuje kombiniranje HTML stranica, naredbi skripti i komponenti COM za stvaranje interaktivnih web-stranica i moćnih web-aplikacija. Također olakšava razvoj i modificiranje navedenih web aplikacija.
Nakon prvobitnog izdanja, objavljena su dva izdanja. ASP 2.0 je uveo šest ugrađenih objekata u izvornik, koji su bili Application, ASPError, Request, Response, Server i Session. ASP 3.0 je uveo neka dodatna poboljšanja kao što su Server.Transfer metoda, Server.Execute i poboljšani ASPError objekt. Osim toga, ASP 3.0 je također omogućio baferiranje po defaultu i optimizirao motor za bolje performanse. Međutim, od svibnja 2013. ne postoje planirane nadogradnje ASP-a.
ASP.NET je izgrađen na zajedničkom jeziku Runtime (CLR). To omogućuje programerima pisanje ASP.NET koda pomoću bilo kojeg podržanog .NET jezika. ASP.NET web stranice su također poznati kao web obrasci. Oni sadrže statični (X) HTML oznake. Također sadrži oznaku koja definira web-kontrole na strani poslužitelja i korisničke kontrole. Ovo je mjesto gdje programeri stavljaju sav rc sadržaj za web stranicu.
U ASP.NET Framework 2.0 uvodi se novi model za kodom. To omogućuje da statički tekst ostane na .aspx stranici, dok dinamički kôd ostaje u .aspx.vb ili .aspx.cs ili .aspx.fs datoteci. Mjesto dinamičkog koda ovisi o korištenom programskom jeziku.
Oba podupiru kontekst sesije. Objekt sesije pohranjuje informacije ili mijenja postavke za korisničku sesiju. U suštini, on bilježi sve što korisnik vidi i radi na stranici, posebno bilo kakve promjene koje korisnik može ugraditi na stranicu. To ima prednost, jer u slučaju pada sustava između promjena koje je korisnik pokušao napraviti, promjene se neće izgubiti kada se sustav sruši. Sesija će zadržati sjećanje na to gdje je korisnik stao.
Sesija je u biti kolačić web-stranice. Čuva i dohvaća vrijednosti za korisnika dok se korisnik kreće putem web-stranice. Varijable pohranjene u objektu Session sadrže informacije o jednom korisniku i dostupne su svim stranicama u jednoj aplikaciji. Neki uobičajeni podaci spremljeni u varijablama sesije su ime, ID i postavke. Poslužitelj stvara novi objekt Session za svakog novog korisnika i uništava objekt Session kada istekne sesija.
Neke razlike između ASP sesije i ASP.NET sesije:
- U ASP-u, sesija je ovisna o procesu, dok je u ASP.NET-u sesija proces neovisna.
- U ASP-u, sesija je Cookie ovisna, dok je u ASP.NET-u sesija Cookie nezavisna.
- Stanje ASP sesije nema inherentno rješenje za rad s Web farmama. ASP.NET sesija može biti pohranjena u stanju poslužitelja i SQL SERVER koji može podržati više poslužitelja.
- ASP sesija funkcionira samo kada preglednik podržava kolačiće, ASP.NET sesija radi neovisno.
- Stanje ASP sesije vrlo je jako ovisno o IIS procesu. Ako se IIS ponovno pokrene ASP varijable sesije također se recikliraju. Dok, ASP.NET sesije mogu biti neovisni o okruženju hostinga tako ASP.NET sesija može održati čak i ako IIS ponovno podizanje sustava.
- ASP sesija se suočava s ograničenjima farme poslužitelja. Kako se korisnici premještaju s poslužitelja na poslužitelj u farmi web poslužitelja, njihovo stanje sesije ne slijedi ih. ASP.NET stanje sesije ima podršku za konfiguracije farme poslužitelja. Prelazi se na model izvan procesa, stoga se ne suočava s problemom farme poslužitelja.