ASP vs. ASP.Net

ASP a ASP.Net sú veľmi odlišné programovacie jazyky. ASP je skriptovací jazyk, kde ako ASP.NET je webová formulácia kompilovaného jazyka (Visual Basic, C #, J #, C ++, .Net). Navyše, na rozdiel od ASP, ASP.NET je objektovo orientovaný jazyk.

nahlásiť túto reklamu

Obsah: ASP vs ASP.Net

  • 1 Izolácia procesu
  • 2 Interpretácia verzus kompilácia
    • 2.1 Dôsledky na výkon
  • 3 Ladenie
  • 4 Referencie

Izolácia procesu

ASP je spustená v procesnom priestore inetinfo.exe (IIS), a preto je náchylná na zlyhania aplikácie v dôsledku zastavenia alebo reštartovania IIS.

Na druhej strane, pracovný proces ASP.NET je odlišný proces (aspnet_wp.exe) oddelený od procesu IIS inetinfo.exe. Procesný model v ASP.NET nesúvisí s nastavením izolácie procesu v IIS.

Interpretácia verzus kompilácia

Ak sa požaduje tradičná stránka ASP, text tejto stránky sa analyzuje lineárne. Všetok obsah, ktorý nie je skriptom na strane servera, sa vykreslí tak, ako je späť k odpovedi. Všetky skripty na strane servera na stránke sa najprv spustia prostredníctvom vhodného tlmočníka (JScript alebo VBScript), ktorého výstup sa potom vykreslí späť na odpoveď.

Naopak, stránky ASP.NET sa vždy zostavujú do tried .NET umiestnených v zostavách. Táto trieda obsahuje všetok kód na strane servera a statický HTML, takže akonáhle je stránka prvýkrát prístupná (alebo je prístupná akákoľvek stránka v konkrétnom adresári), následné vykreslenie tejto stránky sa obsluhuje vykonaním kompilovaného kódu. To eliminuje všetky neefektívnosti skriptovacieho modelu tradičnej ASP.

Dôsledky na výkon

  • Pretože skripty ASP sa interpretujú nepretržite, má to vplyv na výkon. Spoločnou optimalizáciou pre aplikácie ASP je preto presunúť veľa skriptov na strane servera do predkompilovaných komponentov COM, aby sa zlepšila doba odozvy. Pretože všetky komponenty v ASP.NET sú zostavy, pomocou kódu na strane servera nedochádza k zníženiu výkonu.
  • Pri ASP je kombinovanie vyhodnocovacích blokov na strane servera so statickým HTML menej efektívne ako jediný skriptový blok na strane servera, pretože tlmočník musí byť vyvolaný viackrát. Aby sa tomu zabránilo, mnoho vývojárov ASP sa uchýli k veľkým blokom skriptu na strane servera, pričom namiesto statických prvkov HTML namiesto toho vyvoláva volania Response.Write (). V prípade ASP.NET sa takéto kroky nevyžadujú na zvýšenie výkonu.
  • ASP umožňuje písať rôzne bloky skriptu na stránke v rôznych skriptovacích jazykoch. Aj keď to môže byť v niektorých ohľadoch príťažlivé, znižuje to aj výkonnosť tým, že sa vyžaduje, aby určitá stránka načítala oba skriptovacie motory (JScript, VBScript) na spracovanie žiadosti, ktorá vyžaduje viac času a pamäte, ako pri použití iba jedného jazyka. ASP.NET má v súboroch ASPX „pozadu“, ktoré sú analyzované a kompilované. V jednom súbore .aspx nie je možné použiť viac jazykov na strane servera.

ladenie

Pretože ASP vyžaduje interpretáciu skriptov, ladenie je ťažké. Ale s ASP.NET sú všetky nástroje dostupné vývojárovi .NET použiteľné pre vývojára .aspx. Chyby so stránkami sa generujú ako chyby kompilátora a existuje veľká pravdepodobnosť, že väčšina chýb bude nájdená v čase kompilácie namiesto runtime, pretože obe jazyky VB.NET a C # sú pevne napísané jazyky..

Referencie

  • wikipedia: Aktívne stránky servera
  • wikipedia: ASP.NET