Hlavný rozdiel: ASP znamená Active Server Pages. Je všeobecne známy ako Classic ASP alebo ASP Classic. Je to skriptovacie prostredie na strane servera vyvinuté a vydané spoločnosťou Microsoft. ASP.NET je webová aplikačná štruktúra na strane servera. ASPX znamená Active Server Pages Extended. Bol vytvorený pre vývoj webových aplikácií na vytváranie dynamických webových stránok. Obaja podporujú kontext relácie. Objekt relácie ukladá informácie o nastaveniach relácie používateľa alebo ich zmení. V podstate zaznamenáva všetko, čo používateľ vidí a robí na stránke, a to najmä akúkoľvek zmenu, ktorú môže používateľ vložiť na stránku.
ASP sa používa predovšetkým na vytváranie a spúšťanie dynamických interaktívnych aplikácií webového servera. Umožňuje tiež skombinovať stránky HTML, príkazy skriptu a komponenty COM na vytvorenie interaktívnych webových stránok a výkonných webových aplikácií. To tiež uľahčuje vývoj a modifikáciu uvedených webových aplikácií.
Po jeho pôvodnom vydaní boli vydané dve verzie. ASP 2.0 predstavil šesť zabudovaných objektov do pôvodného jazyka, ktoré boli Application, ASPError, Request, Response, Server a Session. ASP 3.0 predstavil niektoré ďalšie vylepšenia, ako je metóda Server.Transfer, metóda Server.Execute a rozšírený objekt ASPError. Okrem toho ASP 3.0 tiež umožňoval vyrovnávacie pamäte a optimalizoval motor pre lepší výkon. Od mája 2013 však neexistujú žiadne plánované aktualizácie systému ASP.
ASP.NET je postavená na jazyku Common Language Runtime (CLR). To umožňuje programátorom písať kód ASP.NET pomocou ľubovoľného podporovaného jazyka .NET. Webové stránky ASP.NET sú tiež bežne známe ako webové formuláre. Obsahujú statickú značku HTML (X). Obsahuje aj značku, ktorá definuje webové ovládacie prvky a používateľské ovládacie prvky na strane servera. Toto je miesto, kde vývojári umiestňujú celý obsah rc pre webovú stránku.
V ASP.NET Framework 2.0 bol predstavený nový model s kódom za sebou. To umožňuje zostať statický text na .aspx stránke, zatiaľ čo dynamický kód zostane v súbore .aspx.vb alebo .aspx.cs alebo .aspx.fs. Umiestnenie dynamického kódu závisí od použitého programovacieho jazyka.
Obaja podporujú kontext relácie. Objekt relácie ukladá informácie o nastaveniach relácie používateľa alebo ich zmení. V podstate zaznamenáva všetko, čo používateľ vidí a robí na stránke, a to najmä akúkoľvek zmenu, ktorú môže používateľ vložiť na stránku. To má výhodu, pretože v prípade, že systém zlyhá medzi zmenami, ktoré sa používateľ pokúšal vykonať, zmeny sa pri strate systému nestratia. Táto relácia si zachová pamäť miesta, kde užívateľ odišiel.
Režim je v podstate cookie na webovej stránke. Ukladá a načíta hodnoty pre používateľa, keď používateľ naviguje na webovú stránku. Premenné uložené v relácii obsahujú informácie o jednom jedinom používateľovi a sú k dispozícii pre všetky stránky v jednej aplikácii. Niektoré bežné informácie uložené v premenných relácie sú meno, ID a predvoľby. Server vytvorí nový objekt relácie pre každého nového používateľa a po skončení relácie zničí objekt relácie.
Niektoré rozdiely medzi reláciou ASP a reláciou ASP.NET:
- V ASP je relácia závislá od procesu, zatiaľ čo v ASP.NET je relácia nezávislá na procese.
- V relácii ASP je relácia závislá od súboru cookie, zatiaľ čo v ASP.NET je relácia Cookie nezávislá.
- Stav relácie ASP nemá žiadne vlastné riešenie na prácu s webovými farmami. Relácia ASP.NET môže byť uložená na štátnom serveri a serveri SQL, ktorý môže podporovať viacero serverov.
- Relácia ASP funguje iba v prípade, že prehliadač podporuje súbory cookie, relácia ASP.NET beží bez ohľadu na to.
- Stav relácie ASP je veľmi závislá od procesu IIS. Ak sa IIS reštartuje, premenné relácie ASP sa tiež recyklujú. Zatiaľ čo ASP.NET relácia môže byť nezávislá na hostiteľskom prostredí, takže relácia ASP.NET sa môže zachovať aj vtedy, ak sa reštartuje služba IIS.
- Relácia ASP je konfrontovaná s obmedzeniami serverových fariem. Keď sa používatelia presúvajú zo servera na server vo farme webového servera, ich stav relácie ich nesleduje. Stav relácie ASP.NET podporuje konfigurácie serverových fariem. Pohybuje sa na model, ktorý nie je v procese, a preto nemá problém so serverovou farmou.