Ključna razlika: ASP je kratica za Active Server Pages. To je splošno znano kot Classic ASP ali ASP Classic. To je okolje za skriptiranje na strani strežnika, ki ga razvija in izdaja Microsoft. ASP.NET je spletni strežniški okvir. ASPX je kratica za Active Server Pages Extended. Zasnovan je bil za razvoj spletnih strani za izdelavo dinamičnih spletnih strani. Oba podpirata kontekst zasedanja. Objekt seje shrani informacije o ali spremeni nastavitve za uporabniško sejo. V bistvu je zapisano vse, kar uporabnik vidi in počne na strani, zlasti vse spremembe, ki jih uporabnik lahko vključi na stran.
ASP se v glavnem uporablja za ustvarjanje in izvajanje dinamičnih, interaktivnih aplikacij spletnega strežnika. Omogoča tudi združevanje strani HTML, ukazov skript in komponent COM za ustvarjanje interaktivnih spletnih strani in zmogljivih spletnih aplikacij. Omogoča tudi lažje razvijanje in spreminjanje omenjenih spletnih aplikacij.
Po prvotni izdaji sta bili izdani dve različici. ASP 2.0 je predstavil šest vgrajenih predmetov v izvirnik, ki sta bili Application, ASPError, Request, Response, Server in Session. ASP 3.0 je predstavil nekaj dodatnih izboljšav, kot je metoda Server.Transfer, metoda Server.Execute in izboljšan objekt ASPError. Poleg tega je ASP 3.0 omogočil tudi privzeto pufriranje in optimiziral motor za boljše delovanje. Od maja 2013 pa načrtovanih nadgradenj ASP ni.
ASP.NET je zgrajen na skupnem jeziku Runtime (CLR). To programerjem omogoča pisanje kode ASP.NET z uporabo katerega koli podprtega jezika .NET. Spletne strani ASP.NET so splošno znane tudi kot spletni obrazci. Vsebujejo statično (X) oznako HTML. Vsebuje tudi oznako, ki določa spletne nadzorne elemente na strani strežnika in uporabniške kontrolnike. Tu razvijalci postavijo vso vsebino rc za spletno stran.
V ASP.NET Framework 2.0 je bil uveden nov model za kodo. To omogoča, da statično besedilo ostane na strani .aspx, dinamična koda pa ostane v datoteki .aspx.vb ali .aspx.cs ali .aspx.fs. Lokacija dinamične kode je odvisna od uporabljenega programskega jezika.
Oba podpirata kontekst zasedanja. Objekt seje shrani informacije o ali spremeni nastavitve za uporabniško sejo. V bistvu je zapisano vse, kar uporabnik vidi in počne na strani, zlasti vse spremembe, ki jih uporabnik lahko vključi na stran. To ima prednost, saj v primeru, da se sistem pokvari med spremembami, ki jih je uporabnik skušal narediti, spremembe ne bodo izgubljene, ko se sistem sesuje. Zasedanje bi ohranilo spomin, kje je uporabnik končal.
Seja je v bistvu piškotek spletne strani. Ko uporabnik obišče spletno stran, shrani in pridobi vrednosti za uporabnika. Spremenljivke, shranjene v objektu Session, vsebujejo informacije o enem samem uporabniku in so na voljo vsem stranem v eni aplikaciji. Nekatere skupne informacije, shranjene v spremenljivkah sej, so ime, ID in nastavitve. Strežnik ustvari nov objekt Session za vsakega novega uporabnika in po izteku seje uniči objekt Session.
Nekatere razlike med sejo ASP in sejo ASP.NET:
- V ASP je seja odvisna od procesa, medtem ko je v ASP.NET seja proces neodvisna.
- V ASP je seja odvisna od Cookie, medtem ko je v ASP.NET seji Cookie neodvisna.
- Stanje seje ASP nima notranje rešitve za delo s spletnimi kmetijami. Seja ASP.NET se lahko shrani v strežnik stanja in SQL SERVER, ki lahko podpira več strežnikov.
- Sekcija ASP deluje samo, če brskalnik podpira piškotke, seja ASP.NET deluje neodvisno.
- Stanje seje ASP je zelo močno odvisno od procesa IIS. Če IIS ponovno zažene spremenljivke seje ASP, se tudi reciklirajo. Ker je seja ASP.NET lahko neodvisna od gostiteljskega okolja, se ASP.NET seja lahko ohrani tudi, če se IIS ponovno zažene.
- Seja ASP se sooča z omejitvami kmetije. Ko se uporabniki premaknejo s strežnika na strežnik v farmi spletnega strežnika, se stanje seje ne spremlja. Stanje seje ASP.NET ima podporo za konfiguracije kmetije strežnikov. Premakne se na model izven procesa, zato se ne sooča s problemom kmetije.