E' disponibile da qualche settimana la tanto attesa beta 2 di ASP.NET 2.0, slittata di una quindicina di giorni rispetto alla data prevista di rilascio prevista inizialmente.
Ci siamo già occupati in passato di questa nuova versione, per il lancio della prima versione pubblica di ASP.NET, durante l'ottobre 2003 con la preview alpha 1 rilasciata durante PDC 03.
In questo articolo ci soffermeremo, soprattutto, sulle differenze con l'alpha/beta 1, in modo da poterci concentrare sulle funzionalità che saranno effettivamente disponibili per la RTM, ovvero per la versione definitiva.
Il nuovo (vecchio) compilation model
Se è vero che una delle novità più apprezzate delle prime build è stato il nuovo compilation model , la beta 2 si è resa famosa, ancora prima di essere pubblicamente disponibile, per un ritorno alle origini.
Ufficialmente il cambio è stato fatto per consentire, da ASP.NET 1.x, una migrazione più semplice , introducendo quindi meno concetti specifici per ASP.NET 2.0 rispetto a quanto offre già oggi la famiglia 1.x.
Tra l'altro questo cambio di programma rende immediata la conversione di soluzioni 1.x, non appena queste vengono aperte in Visual Studio 2005 (o Visual Web Developer 2005, che è in realtà la costola di VS 2005 dedicata allo sviluppo web). Bisogna prestare attenzione perché il processo non è bidirezionale ed una volta che si è proceduti alla conversione, non è più possibile tornare indietro.
Fermo restando che il supporto per il code inline rimane supportato, anche se non è più quello di default, le modifiche più sostanziali riguardano il code behind .
Nella beta 1 la dichiarazione delle proprietà della pagina, per quanto riguarda la compilazione, avveniva all'incirca così:
<%@ Page compilewith="webform1.aspx.cs" classname="WebForm1 %>
Dalla beta 2, invece, si tornerà ad un più familiare:
<%@ Page codefile="webform1.aspx.cs" inherits="WebForm1" %>
Allo stesso modo, nel file del code behind, dal corrispondente della beta 1:
public partial class Webform1// nessuna parent class
si arriva all'equivalente della beta 2:
public partial class WebForm1:
System.Web.UI.Page
Come si può facilmente notare, l'unica differenza con la sintassi della 1.x, peraltro prettamente stilistica e dal dubbio uso pratico, è la comparsa della marcatore partial nella definizione della classe di base. Questo marcatore indica al compilatore che la classe non è completa, perché contiene solo una parte della definizione della stessa e sfrutta una caratteristica propria del .NET Framework 2.0.
Dato che però è stato nuovamente introdotta la necessità, come si può notare nella definizione, di indicare una base class per la pagina, sono in molti ad interrogarsi sull'effettivo utilizzo, da parte del compilatore, di questa nuova funzionalità, dato che il nuovo compilation model richiama molto da vicino quello della 1.x, dove le partial classes non sono presenti.
La buona notizia è che, come nella beta 1, non è necessario definire (o lasciarlo fare a VS.NET) tutti gli oggetti della pagina come protected all'interno del code behind.
Questa modifica, ovviamente, impatta su tutti gli oggetti che sfruttano la separazione di codice da struttura, per cui le modifiche riguardano anche le MasterPages, la cui base class è System.Web.UI.MasterPage .
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.