ASP vs. ASP.Net

ASP e ASP.Net sono linguaggi di programmazione molto diversi. ASP è un linguaggio di scripting, dove as ASP.NET è la formulazione web di un linguaggio compilato (Visual Basic, C #, J #, C ++, .Net). Inoltre, a differenza di ASP, ASP.NET è un linguaggio orientato agli oggetti.

Contenuto: ASP vs ASP.Net

  • 1 isolamento del processo
  • 2 Interpretazione vs. Compilazione
    • 2.1 Implicazioni delle prestazioni
  • 3 debug
  • 4 riferimenti

Isolamento del processo

ASP viene eseguito nello spazio del processo inetinfo.exe (IIS) ed è quindi suscettibile di arresti anomali delle applicazioni a causa dell'arresto o del riavvio di IIS.

D'altra parte, il processo di lavoro ASP.NET è un processo distinto (aspnet_wp.exe) separato dal processo IIS inetinfo.exe. Il modello di processo in ASP.NET non è correlato alle impostazioni di isolamento dei processi in IIS.

Interpretazione vs. Compilazione

Quando viene richiesta una pagina ASP tradizionale, il testo di quella pagina viene analizzato linearmente. Tutto il contenuto che non è uno script sul lato server viene reso come-è tornato alla risposta. Tutti gli script lato server nella pagina vengono prima eseguiti tramite l'interprete appropriato (JScript o VBScript), il cui output viene quindi restituito alla risposta.

Al contrario, le pagine ASP.NET vengono sempre compilate in classi .NET ospitate all'interno di assiemi. Questa classe include tutto il codice lato server e l'HTML statico, quindi quando si accede a una pagina per la prima volta (o si accede a qualsiasi pagina all'interno di una particolare directory), il rendering successivo di tale pagina viene servito eseguendo codice compilato. Ciò elimina tutte le inefficienze del modello di scripting dell'ASP tradizionale.

Implicazioni delle prestazioni

  • Poiché gli script ASP vengono interpretati al volo, c'è un impatto sulle prestazioni. Un'ottimizzazione comune per le applicazioni ASP, quindi, è spostare molto script sul lato server in componenti COM precompilati per migliorare i tempi di risposta. Poiché tutti i componenti in ASP.NET sono assiemi, non si verifica alcuna riduzione delle prestazioni utilizzando il codice lato server.
  • Con ASP, la combinazione di blocchi di valutazione lato server con HTML statico è meno efficiente di un singolo blocco di script lato server, poiché l'interprete deve essere richiamato più volte. Per evitare ciò, molti sviluppatori ASP ricorrono a grandi blocchi di script lato server, sostituendo invece gli elementi HTML statici con le chiamate Response.Write (). Per ASP.NET, tali passaggi non sono richiesti per il miglioramento delle prestazioni.
  • ASP consente di scrivere diversi blocchi di script all'interno di una pagina in diversi linguaggi di scripting. Anche se questo può essere interessante in qualche modo, degrada anche le prestazioni richiedendo che una determinata pagina carichi entrambi i motori di scripting (JScript, VBScript) per elaborare una richiesta, che richiede più tempo e memoria rispetto all'utilizzo di una sola lingua. ASP.NET ha "code-behind" nei file .aspx che vengono analizzati e compilati. Più lingue sul lato server non possono essere utilizzate in un singolo file .aspx.

Debug

Poiché ASP implica l'interpretazione degli script, il debug è difficile. Ma con ASP.NET, tutti gli strumenti disponibili per lo sviluppatore .NET sono applicabili allo sviluppatore .aspx. Gli errori con le pagine sono generati come errori del compilatore e ci sono buone probabilità che la maggior parte degli errori vengano rilevati al momento della compilazione invece del runtime, poiché VB.NET e C # sono entrambi linguaggi fortemente tipizzati.

Riferimenti

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