ASP vs. ASP.Net

ASP ja ASP.Net ovat hyvin erilaisia ​​ohjelmointikieliä. ASP on skriptikieli, missä kuten ASP.NET on käännetyn kielen verkkomuoto (Visual Basic, C #, J #, C ++, .Net). Lisäksi toisin kuin ASP, ASP.NET on oliokeskeinen kieli.

Ilmoita tämä ilmoitus

Sisältö: ASP vs. ASP.Net

  • 1 Prosessieristys
  • 2 Tulkinta vs. kokoaminen
    • 2.1 Suorituskykyvaikutukset
  • 3 Virheenkorjaus
  • 4 Viitteet

Prosessin eristäminen

ASP: tä käytetään inetinfo.exe (IIS) -prosessitilassa ja siksi se on alttiina sovelluksen kaatumisille IIS: n pysäyttämisen tai uudelleenkäynnistyksen vuoksi.

Toisaalta ASP.NET-työntekijäprosessi on erillinen prosessi (aspnet_wp.exe), joka on erillinen IIS-prosessista inetinfo.exe. ASP.NET: n prosessimalli ei liity IIS: n prosessieristysasetuksiin.

Tulkinta vs. kokoaminen

Kun perinteistä ASP-sivua pyydetään, sivun teksti jäsentyy lineaarisesti. Kaikki sisältö, joka ei ole palvelinpuolen komentosarjaa, hahmotellaan sellaisena kuin se on vastauksessa. Kaikki sivun palvelinpuolen komentosarjat suoritetaan ensin asianmukaisen tulkin (JScript tai VBScript) kautta, jonka tuloste palautetaan sitten vastaukseksi..

Sitä vastoin ASP.NET-sivut kootaan aina .NET-luokkiin, jotka on sijoitettu kokoonpanoihin. Tämä luokka sisältää kaikki palvelinpuolen koodit ja staattisen HTML: n, joten kun sivua käytetään ensimmäistä kertaa (tai mihin tahansa tietyn hakemiston sivua käytetään), kyseisen sivun myöhempi renderointi suoritetaan suorittamalla koottu koodi. Tämä eliminoi kaikki perinteisen ASP: n komentosarjojen mallin tehottomuudet.

Suorituskykyvaikutukset

  • Koska ASP-skriptejä tulkitaan lennossa, suorituskyky vaikuttaa. Siksi yleinen optimointi ASP-sovelluksille on siirtää paljon palvelinpuolen komentosarjoja esikäännettyihin COM-komponentteihin vastausaikojen parantamiseksi. Koska kaikki ASP.NET-komponentit ovat kokoonpanoja, suorituskyvyn heikkeneminen ei ole mahdollista palvelinpuolen koodin avulla.
  • ASP: n kanssa palvelinpuolen arviointilohkojen sekoittaminen staattisella HTML: llä on vähemmän tehokasta kuin yksittäinen palvelinpuolen komentosarjalohko, koska tulkkiin on kutsuttu useita kertoja. Tämän välttämiseksi monet ASP-kehittäjät turvautuvat suuriin palvelinpuolen komentosarjojen lohkoihin korvaamalla staattiset HTML-elementit sen sijaan Response.Write () -kutsuilla. ASP.NET: n tapauksessa tällaisia ​​vaiheita ei tarvita suorituskyvyn parantamiseksi.
  • ASP sallii sivulla olevien eri komentosarjojen kirjoittamisen eri kielillä. Vaikka tämä saattaa olla houkutteleva tietyllä tavalla, se heikentää myös suorituskykyä edellyttämällä, että tietty sivu lataa molemmat komentosarjojen moottorit (JScript, VBScript) pyynnön käsittelemiseksi, joka vie enemmän aikaa ja muistia kuin vain yhden kielen käyttäminen. ASP.NET: ssä on "kooditausta" .aspx-tiedostoissa, jotka on jäsentätty ja käännetty. Useita palvelinpuolen kieliä ei voi käyttää yhdessä .aspx-tiedostossa.

virheenkorjaus

Koska ASP sisältää skriptien tulkinnan, virheenkorjaus on vaikeaa. Mutta ASP.NET: n kanssa kaikki .NET-kehittäjän käytettävissä olevat työkalut ovat sovellettavissa .aspx-kehittäjälle. Sivujen virheet luodaan kääntäjävirheinä, ja on suuri mahdollisuus, että suurin osa virheistä löytyy kokoamisaikana suorituksen keston sijasta, koska VB.NET ja C # ovat molemmat voimakkaasti kirjoitettuja kieliä.

Viitteet

  • wikipedia: Aktiiviset palvelinsivut
  • wikipedia: ASP.NET