📁
Forum per Webmaster
Glossario

ASP.NET

ASP.NET è la parte del framework .NET utilizzata per lo sviluppo di applicazioni web lato server.
ASP.NET Web Forms fornisce strumenti per la realizzazione di interfacce utente dinamiche per il web mentre i servizi web forniscono l’infrastruttura per la realizzazione di applicazioni distribuite basate su Internet.

L’esecuzione delle pagine ASP.NET da parte di IIS e di .NET

In ASP, l’estensione ISAPI (Internet Server Application Programming Interface) che si occupa dell’esecuzione delle pagine lato server è integrata all’interno di IIS (Internet Information Services), causando vari problemi nel caso in cui ASP vada in errore, oppure debba essere riavviato.

ASP.NET utilizza una propria DLL ISAPI ed un processo di esecuzione separato per l’esecuzione del proprio codice in modo da non coinvolgere IIS in caso di errore o di riavvio.
Quando ASP.NET viene installato su IIS 5.0 o 5.1, un’estensione ISAPI chiamata aspnet_isapi.dll viene registrata; nel momento in cui IIS riceve una richiesta per una pagina ASP.NET (ad esempio .aspx o .asmx), le richieste vengono reindirizzate ad aspnet_isapi.dll la quale si occupa di far partire un processo di servizio (“Worker Process”) che si occuperà di far girare il codice dell’applicazione web ASP.NET.

Normalmente su di una macchina si ha una sola istanza in esecuzione del Worker Process (“aspnet_wp.exe”) ma è possibile configurare .NET in modo da eseguirne più copie contemporaneamente.

Il Worker Process esamina l’URL della richiesta web ed in base a questa determina a quale applicazione web ASP.NET appartenga.
Se l’applicazione ASP.NET non era mai stata eseguita in precedenza, il codice intermedio (“IL”) viene compilato dal framework .NET (JIT) e viene creato un nuovo application domain ASP.NET.

Ogni application domain contiene un pool di istanze di HTTPApplication; ognuna di queste istanze si occupa di servire una richiesta HTTP alla volta.
Quando l’HTTPApplication ha terminato di servire la richiesta, l’oggetto torna disponibile nel pool e la risposta generata viene restituita al client.

Un Application Domain ASP.NET può essere riavviato dal Worker Process in seguito al verificarsi di certe condizioni come:

  • Vengono cambiate la configurazione del server (“Machine.config”) oppure dell’applicazione stessa (“Web.config”).
  • Viene effettuato un cambiamento nel global.asax.
  • Viene cambiata un’assembly all’interno della directory bin dell’applicazione.
  • Si è superato un certo numero di ricompilazioni permesse prima del riavvio dell’applicazione.

Il riavvio è automatico e completamente trasparente per gli utenti, è quindi possibile con ASP.NET sostituire al volo uno o più componenti di un’applicazione web senza fermare il web server e/o effettuare operazioni di registrazione/deregistrazione.

Argomenti nella stessa categoria