ASP pret ASP.Net

ASP un ASP.Net ir ļoti dažādas programmēšanas valodas. ASP ir skriptu valoda, kur kā ASP.NET ir apkopotas valodas tīmekļa formulējums (Visual Basic, C #, J #, C ++,. Net). Turklāt atšķirībā no ASP ASP.NET ir uz objektu orientēta valoda.

ziņot par šo sludinājumu

Saturs: ASP vs ASP.Net

  • 1 Procesa izolācija
  • 2 Interpretācija pret kompilāciju
    • 2.1. Ietekme uz darbību
  • 3 atkļūdošana
  • 4 atsauces

Procesa izolācija

ASP tiek darbināta inetinfo.exe (IIS) procesa telpā un tāpēc ir jutīga pret lietojumprogrammu avārijām IIS apturēšanas vai restartēšanas dēļ.

No otras puses, ASP.NET darbinieka process ir atšķirīgs process (aspnet_wp.exe), kas ir atdalīts no IIS procesa inetinfo.exe. Procesa modelis ASP.NET nav saistīts ar procesa izolācijas iestatījumiem IIS.

Interpretācija pret kompilāciju

Ja tiek pieprasīta tradicionāla ASP lapa, šīs lapas teksts tiek parsēts lineāri. Viss saturs, kas nav servera puses skripts, tiek padarīts tāds, kāds ir atpakaļ uz atbildi. Visi servera puses skripti lapā vispirms tiek palaisti caur atbilstošo tulku (JScript vai VBScript), kura izvade pēc tam tiek atgriezta atpakaļ atbildē..

Turpretī ASP.NET lapas vienmēr tiek apkopotas .NET klasēs, kas izvietotas mezglos. Šajā klasē ietilpst viss servera puses kods un statiskais HTML, tāpēc pēc lapas piekļuves pirmo reizi (vai piekļūstot jebkurai lappusei noteiktā direktorijā) sekojoša šīs lapas atveidošana tiek apkalpota, izpildot apkopotu kodu. Tas novērš visas tradicionālās ASP skriptu modeļa neefektivitātes.

Ietekme uz darbību

  • Tā kā ASP skripti tiek interpretēti tiešā veidā, tas ietekmē veiktspēju. Tāpēc kopēja ASP lietojumprogrammu optimizācija ir daudz servera puses skriptu pārnešana uz iepriekš kompilētiem COM komponentiem, lai uzlabotu reakcijas laiku. Tā kā visi ASP.NET komponenti ir mezgli, veiktspējas pasliktināšanās netiek veikta, izmantojot servera puses kodu.
  • Izmantojot ASP, servera puses novērtēšanas bloku sajaukšana ar statisku HTML ir mazāk efektīva nekā viens servera puses skriptu bloks, jo tulks ir jāizsauc vairākas reizes. Lai no tā izvairītos, daudzi ASP izstrādātāji izmanto lielus servera puses skriptu blokus, aizstājot statiskos HTML elementus ar atsaucēm Response.Write (). ASP.NET šādas darbības veiktspējas uzlabošanai nav vajadzīgas.
  • ASP ļauj lappusē dažādus skriptu blokus rakstīt dažādās skriptu valodās. Lai gan tas dažos veidos var būt pievilcīgs, tas arī pasliktina veiktspēju, pieprasot, lai konkrētā lappuse ielādētu abus skriptu dzinējus (JScript, VBScript) pieprasījuma apstrādei, kas prasa vairāk laika un atmiņas, nekā tikai vienas valodas lietošana. ASP.NET ir "koda aizmugure" .aspx failos, kas tiek parsēti un apkopoti. Vienā .aspx failā nevar izmantot vairākas servera puses valodas.

Atkļūdošana

Tā kā ASP ietver skriptu interpretāciju, atkļūdošana ir sarežģīta. Bet, izmantojot ASP.NET, visi .NET izstrādātājam pieejamie rīki ir piemērojami .aspx izstrādātājam. Kļūdas ar lapām tiek ģenerētas kā kompilatoru kļūdas, un pastāv liela iespēja, ka lielākā daļa kļūdu tiks atrasta kompilācijas laikā, nevis izpildlaika laikā, jo gan VB.NET, gan C # ir izteikti drukātas valodas.

Atsauces

  • wikipedia: aktīvās servera lapas
  • wikipedia: ASP.NET