ASP ir ASP.Net yra labai skirtingos programavimo kalbos. ASP yra scenarijų kalba, kur kaip ASP.NET yra kompiliuotos kalbos (Visual Basic, C #, J #, C ++, .Net) žiniatinklio formulavimas. Be to, skirtingai nuo ASP, ASP.NET yra į objektą orientuota kalba.
pranešti apie šį skelbimąASP vykdoma „inetinfo.exe“ (IIS) proceso erdvėje ir todėl yra jautri programos gedimams dėl IIS sustabdymo ar paleidimo iš naujo..
Kita vertus, ASP.NET darbuotojo procesas yra atskiras procesas (aspnet_wp.exe), atskirtas nuo IIS proceso inetinfo.exe. Proceso modelis ASP.NET nėra susijęs su proceso atskyrimo parametrais IIS.
Kai prašoma tradicinio ASP puslapio, to puslapio tekstas analizuojamas linijiškai. Visas turinys, kuris nėra serverio scenarijus, pateikiamas kaip atsakymas. Visi puslapio serverio scenarijai pirmiausia paleidžiami naudojant atitinkamą vertėją (JScript arba VBScript), kurio išvestis grąžinama į atsakymą..
ASP.NET puslapiai, priešingai, visada sudaromi į .NET klases, esančias mazguose. Į šią klasę įeina visas serverio kodas ir statinis HTML, todėl pirmą kartą patekus į puslapį (arba atėjus bet kuriam konkretaus katalogo puslapiui), vėlesnis to puslapio pateikimas yra aptarnaujamas vykdant sukompiliuotą kodą. Tai pašalina visus tradicinio ASP scenarijų modelio neveiksmingumus.
Kadangi ASP apima scenarijų aiškinimą, derinimo sunku. Bet naudojant ASP.NET visi .NET kūrėjui prieinami įrankiai yra taikomi .aspx kūrėjui. Klaidos puslapiuose generuojamos kaip kompiliatoriaus klaidos, ir yra didelė tikimybė, kad dauguma klaidų bus rasta kompiliavimo metu, o ne vykdymo metu, nes VB.NET ir C # yra griežtai įvestos kalbos.