ASP vs ASP.Net

ASP og ASP.Net er svært forskjellige programmeringsspråk. ASP er et skriptspråk, hvor som ASP.NET er nettformuleringen av et sammensatt språk (Visual Basic, C #, J #, C ++, .Net). I motsetning til ASP er ASP.NET et objektorientert språk.

Innhold: ASP vs ASP.Net

  • 1 Prosessisolasjon
  • 2 Tolkning mot kompilering
    • 2.1 Ytelsesvirkninger
  • 3 Feilsøking
  • 4 referanser

Prosessisolasjon

ASP kjøres under prosessområdet inetinfo.exe (IIS) og er derfor utsatt for programkrasj på grunn av at IIS blir stoppet eller startet på nytt.

På den annen side er ASP.NET-arbeidsprosessen en distinkt prosess (aspnet_wp.exe) skilt fra IIS-prosessen inetinfo.exe. Prosessmodellen i ASP.NET er ikke relatert til å behandle isolasjonsinnstillinger i IIS.

Tolkning mot kompilering

Når en tradisjonell ASP-side blir forespurt, blir teksten til den siden analysert lineært. Alt innhold som ikke er server-side skript, gjengis som-er tilbake til svaret. Alle server-side skript på siden blir først kjørt gjennom riktig tolk (JScript eller VBScript), hvorav utgangen blir deretter gjengitt tilbake til svaret.

I kontrast ASP.NET sider er alltid samlet i. NET klasser plassert innenfor forsamlinger. Denne klassen inneholder all server-side-koden og den statiske HTML-en, slik at en gang en side er tilgjengelig for første gang (eller en hvilken som helst side i en bestemt katalog er tilgjengelig), blir etterfølgende gjengivelse av den siden betjent ved å utføre kompilert kode. Dette eliminerer alle ineffektiviteten til skriptmodellen av tradisjonell ASP.

Prestasjonsimplikasjoner

  • Siden ASP-skript tolkes på fly, er det en ytelse innvirkning. En vanlig optimalisering for ASP-applikasjoner er derfor å flytte mye server-side script til forhåndskompilerte COM-komponenter for å forbedre responstidene. Siden alle komponenter i ASP.NET er sammenstillinger, er det ingen ytelsesforringelse ved bruk av server-side kode.
  • Med ASP er intermitterende evalueringsblokker for server-side med statisk HTML mindre effektiv enn en enkelt scriptblokk for server-siden, fordi tolken må påberopes flere ganger. For å unngå dette, bruker mange ASP-utviklere store blokker med server-side-skript, og erstatter statiske HTML-elementer med Response.Write () invokasjoner i stedet. For ASP.NET er det ikke nødvendig med slike trinn for ytelsesforbedring.
  • ASP tillater forskjellige blokker av manus på en side som skal skrives på forskjellige skriptspråk. Selv om dette kan være tiltalende på noen måter, ødelegger det også ytelsen ved å kreve at en bestemt side laster begge skriptmotorer (JScript, VBScript) for å behandle en forespørsel, som tar mer tid og minne enn å bruke bare ett språk. ASP.NET har "kode-bak" i .aspx-filer som analyseres og samles. Flere språk på serversiden kan ikke brukes i en enkelt .aspx-fil.

debugging

Siden ASP innebærer at skript tolkes, er feilsøking vanskelig. Men med ASP.NET er alle verktøyene som er tilgjengelige for .NET-utvikleren gjeldende for .aspx-utvikleren. Feil med sider genereres som kompilatorfeil, og det er en god sjanse for at de fleste feil vil bli funnet på kompileringstid i stedet for runtime, fordi VB.NET og C # er begge sterkt skrevet språk.

referanser

  • wikipedia: Active Server Pages
  • wikipedia: ASP.NET