ASP vs. ASP.Net

ASP i ASP.Net su vrlo različiti programski jezici. ASP je skriptni jezik, gdje je ASP.NET je web formulacija sabranog jezika (Visual Basic, C #, J #, C ++, .Net). Štoviše, za razliku od ASP-a, ASP.NET je objektno orijentirani jezik.

Prijavi ovaj oglas

Sadržaj: ASP vs ASP.Net

  • 1 Procesna izolacija
  • 2 Tumačenje nasuprot kompilaciji
    • 2.1 Posljedice performansi
  • 3 Otklanjanje pogrešaka
  • 4 Reference

Izolacija procesa

ASP se pokreće u okviru prostora inetinfo.exe (IIS) i zbog toga je podložan pad sustava zbog zaustavljanja ili ponovnog pokretanja IIS-a..

S druge strane, radnički proces ASP.NET različit je proces (aspnet_wp.exe) odvojen od IIS procesa inetinfo.exe. Model procesa u ASP.NET-u nema veze s postavkama izolacije procesa u IIS-u.

Tumačenje nasuprot kompilaciji

Kada se traži tradicionalna ASP stranica, tekst te stranice se raščlanjuje linearno. Sav sadržaj koji nije skripta na strani poslužitelja je vraćen kao odgovor. Sva skripta na strani poslužitelja na stranici prvo se provodi kroz odgovarajući interpreter (JScript ili VBScript), čiji se izlaz zatim vraća na odgovor.

Suprotno tome, stranice ASP.NET uvijek se kompiliraju u .NET klase smještene unutar sklopova. Ova klasa uključuje sav kôd na strani poslužitelja i statički HTML, tako da nakon što se jednoj stranici pristupi prvi put (ili se pristupi bilo kojoj stranici unutar određenog direktorija), naknadno prikazivanje te stranice servisira se izvršavanjem sastavljenog koda. Ovo uklanja sve neučinkovitosti scenarističkog modela tradicionalnog ASP-a.

Implikacije performansi

  • Budući da se ASP skripte tumače u letu, postoji učinak na performanse. Stoga je uobičajena optimizacija za ASP aplikacije pomicanje velikog broja skripti na strani poslužitelja u unaprijed sastavljene COM komponente radi poboljšanja vremena odziva. Budući da su sve komponente u ASP.NET skupu, nema degradacije performansi korištenjem koda na strani poslužitelja.
  • Kod ASP-a miješanje blokova za procjenu na strani poslužitelja sa statičkim HTML-om je manje učinkovito od jednog bloka skripti na strani poslužitelja, jer tumača treba pozvati više puta. Da bi to izbjegli, mnogi programeri ASP-a pribjegavaju velikim blokovima skripte na strani poslužitelja, a umjesto toga statički HTML elementi zamjenjuju pozive Response.Write (). Za ASP.NET takvi koraci nisu potrebni za poboljšanje performansi.
  • ASP omogućava da se različiti blokovi skripte unutar stranice pišu na različitim jezicima skripta. Iako je ovo na neki način privlačno, također smanjuje performanse zahtijevajući da određena stranica učita oba motora skriptiranja (JScript, VBScript) za obradu zahtjeva, za što je potrebno više vremena i memorije nego upotreba samo jednog jezika. ASP.NET ima "code-back" u .aspx datotekama koje su analizirane i sastavljene. Više jezika na poslužitelju ne može se koristiti unutar jedne .aspx datoteke.

ispravljanje pogrešaka

Budući da ASP uključuje skripte koje se tumače, uklanjanje pogrešaka je teško. Ali uz ASP.NET, svi su alati dostupni .NET programeru primjenjivi na programera .aspx. Pogreške sa stranicama generiraju se kao greške u sastavljaču i postoji velika vjerojatnost da će se većina grešaka naći u vremenu kompilacije umjesto u vrijeme izvođenja, jer su VB.NET i C # oba jako tipkana jezika.

Reference

  • wikipedia: Aktivne stranice poslužitelja
  • Wikipedia: ASP.NET