ASP vs. ASP.Net

ASP og ASP.Net er meget forskellige programmeringssprog. ASP er et scriptingsprog, hvor som ASP.NET er webformuleringen af ​​et kompileret sprog (Visual Basic, C #, J #, C ++, .Net). I modsætning til ASP er ASP.NET et objektorienteret sprog.

rapporter denne annonce

Indhold: ASP vs ASP.Net

  • 1 Processisolering
  • 2 Fortolkning vs. kompilering
    • 2.1 Performanceimplikationer
  • 3 Fejlfinding
  • 4 Henvisninger

Processisolering

ASP køres under procesområdet inetinfo.exe (IIS) og er derfor modtagelige for programnedbrud på grund af, at IIS er stoppet eller genstartet.

På den anden side er ASP.NET-arbejderprocessen en distinkt proces (aspnet_wp.exe) adskilt fra IIS-processen inetinfo.exe. Processmodellen i ASP.NET er ikke relateret til procesisoleringsindstillinger i IIS.

Fortolkning vs. kompilering

Når der anmodes om en traditionel ASP-side, analyseres teksten på den side lineært. Alt indhold, der ikke er script på serversiden, gengives som-tilbage til svaret. Alle script på serversiden på siden køres først gennem den passende tolk (JScript eller VBScript), hvis udgang derefter gengives til svaret.

I modsætning hertil er ASP.NET-sider altid samlet i .NET-klasser, der er indeholdt i samlinger. Denne klasse inkluderer al serversiden-koden og den statiske HTML, så når først en side er adgang til første gang (eller der er adgang til en hvilken som helst side i et bestemt bibliotek), serviceres efterfølgende gengivelse af den side ved at udføre kompileret kode. Dette eliminerer alle ineffektiviteter i scriptingmodellen for traditionel ASP.

Performanceimplikationer

  • Da ASP-scripts er fortolket undervejs, er der en præstationseffekt. En almindelig optimering for ASP-applikationer er derfor at flytte en masse serversidescript til forkompilerede COM-komponenter for at forbedre responstider. Da alle komponenter i ASP.NET er samlinger, er der ingen ydelsesnedbrydning ved hjælp af server-side-kode.
  • Med ASP er sammenblanding af serversideevalueringsblokke med statisk HTML mindre effektiv end en enkelt serversidescript-blok, fordi tolken skal påberåbes flere gange. For at undgå dette tager mange ASP-udviklere sig til store blokke af serversidescript, og erstatter i stedet statiske HTML-elementer med Response.Write () -inokationer. For ASP.NET er sådanne trin ikke nødvendige for forbedring af ydelsen.
  • ASP tillader, at forskellige blokke af script på en side kan skrives på forskellige scripting-sprog. Selvom dette muligvis er tiltalende på nogle måder, forringes det også ydelsen ved at kræve, at en bestemt side indlæser begge script-motorer (JScript, VBScript) for at behandle en anmodning, hvilket tager mere tid og hukommelse end kun at bruge et sprog. ASP.NET har "kode bag" i .aspx-filer, der er parset og samlet. Flere sprog på serversiden kan ikke bruges i en enkelt .aspx-fil.

Fejlfinding

Da ASP involverer scripts, der fortolkes, er fejlfinding vanskeligt. Men med ASP.NET er alle de værktøjer, der er tilgængelige for .NET-udvikleren, gældende for .aspx-udvikleren. Fejl med sider genereres som compilerfejl, og der er en god chance for, at de fleste fejl findes på kompileringstidspunktet i stedet for runtime, fordi VB.NET og C # begge er stærkt indtastede sprog.

Referencer

  • wikipedia: Aktive serversider
  • wikipedia: ASP.NET