Il modello di programmazione ASP.NET, è leggermente differente rispetto a quello degli altri linguaggi di scripting lato server.
Nei più noti linguaggi di scripting lato server, come JSP e PHP e nelle stesse vecchie ASP, il codice lato server viene scritto all'interno della pagina, nei punti in cui è necessaria un'interazione con il server.
Il web server in questi casi incontra il codice server side e si occupa di inviarlo all'applicazione che lo può tradurre. Tutto il codice client side (HTML, JavaScript), invece, viene inviato al client senza elaborazioni.
In ASP.NET il processo è completamente differente.
Quando una pagina è richiesta per la prima volta al server ASP.NET, viene compilata, e trasformata in un class file scritto nel linguaggio MSIL. Il codice client side viene convertito in un insieme di espressioni di tipo output.Write (in modo simile a quanto fanno i Java application server quando convertono le pagine JSP nelle corrispondenti servlet).
Le classi compilate non necessitano di essere ricompilate quando vengono richieste una seconda volta, vengono ricompilate solo se subiscono modifiche.
Una pagina ASP.NET è detta "web form" ed il modello di programmazione è un modello basato sui moduli. Si è cercato di giungere ad un simile modello per far si che, un'applicazione web somigliasse il più possibile ad un'applicazione desktop a finestre.
Un'applicazione ASP.NET quindi consiste in un insieme di web form, ognuno dei quali contiene oggetti. Sono oggetti ospitati ad esempio i pezzi di codice lato client (HTML), i controlli server ed altri oggetti ereditati ad esempio tramite la direttiva Import.
Se confrontiamo la velocità di ASP.NET rispetto ad ASP, notiamo un rallentamento di prestazioni quando la pagina deve essere compilata, cioè la prima volta che viene richiesta, ma un notevole aumento di prestazioni a regime.
Inoltre, la classe compilata (assembly) viene scritta su disco e sopravvive in caso di reboot della macchina server, cioè non serve ricompilarla.
Come già accennato, quando un client richiede una pagina con estensione .aspx, sul server, i componenti che appartengono a quella pagina vengono compilati in un'unica unità. Questa unità è una classe che eredita dalla classe Object.Control.TemplateControl.Page.
Per questa classe Page può essere creata un'istanza ogni volta che viene richiesta la pagina aspx. L'oggetto risultante viene utilizzato per elaborare le richieste in arrivo e restituisce i dati al client richiedente.
La classe Page fa poi da contenitore per tutti i componenti appartenenti ad una pagina che sono essi stessi oggetti.
Non è lo scopo di questa guida esaminare dettagliatamente le classi del Framework .NET ma evidenzieremo alcuni aspetti della classe Page.
Citiamo alcune delle proprietà della classe Page:
ViewStateTra i metodi citiamo:
Nella prossima lezione esaminiamo gli eventi generati in una sequenza di andata e ritorno dal server per la classe Page.
LINQ e la trappola della 'deferred execution'Una "trappola" in cui si può incappare utilizzando il risultato di... |
C#, le Custom Type ConversionConversioni personalizzate tra classi, creare metodi particolari per... |
Introduzione a Entity FrameworkIl framework ORM messo a disposizione da .NET |
Repeater: visualizzare un feed RSSUtilizzare il controllo XMLDataSource e sfruttare il metodo XPath()... |
Repeater, il server control "semplice"Cos'è e come funziona il controllo Repeater |
Guida ASP.NET MVC Best PracticesUn workflow dettagliato e ricco di suggerimenti pratici per... |
Guida ASP.NET Starter KitUn modo semplice per imparare ad utilizzare le tecnologie Microsoft... |
Guida Visual Studio 2010L'ambiente di sviluppo di riferimento per sviluppare applicazioni su... |
Ogni giovedì, direttamente nella tua e-mail: articoli, guide, tutorial e script ASP, ASP.Net, SQL server e IIS.
Iscriviti alla newsletter
|
|
Corso Progettazione database11 Maggio 2012 a Milano |
|
|
Amministratore di Reti Windows Server 200811 Giugno 2012 a Milano |
|
Nessun corso previsto |