ASP.NET 3.5
Non che io sia un fan di ASP.NET Dynamic Data, tuttavia ho trovato questa presentazione molto utile per chi vuole avvicinarsi a questa tecnologia senza inciampare :D.
Technorati Tag: ASP.NET
A partire da ASP.NET 2.0, la classe System.Web.UI.Page introduce un metodo non molto conosciuto in grado di facilitare la realizzazione di pagine asincrone: il metodo RegisterAsyncTask. Spesso mi è capitato di vedere implementare chiamate asincrone (es. invocazione di un WebService) in maniera non corretta sfruttando la logica dell' AddOnPreRenderCompleteAsync, quando in realtà molti dei problemi potevano essere gestiti facilmente tramite Task asincroni, che in ASP.NET sono rappresentati dalla classe PageAsyncTask. Le differenze tra i due approcci non sono moltissime ma significative. Infatti, entrambi richiedono Async="true" nella direttiva @Page (o AsyncMode = true; da codice) e dunque la...
ASP.NET 3.5 SP1 introduce un enanchement del controllo ScriptManager che permette di gestire degli stati di navigazione all'interno di una pagina AJAX-enabled accedibili mediante i pulsanti standard "Avanti/Indietro" del browser. In due parole: "Ajax History". Questa funzionalità fu inizialmente introdotta nel vecchio "ASP.NET Futures" mediante il controllo History (in passato scrissi anche un post a riguardo). La questione è tutt'altro che banale: poiché un browser attiva i meccanismi di navigazione in base al cambio dell' URL, in caso di richieste AJAX che non redirigono verso URL diverse, il browser non aggiorna l' history cache, precludendo all'utente...
Una delle novità introdotte dal Framework 3.5 nell' ambito dello sviluppo in AJAX è l'introduzione della classe DataContractJsonSerializer, che di fatto sostituisce la classe JavaScriptSerializer (messa a disposizione dalle precedenti AJAX Extensions 1.0 per ASP.NET 2.0) nella serializzazione/deserializzazione di oggetti JSON. Utilizzando tali extensions la serializzazione/deserializzazione in/da una rappresentazione JSON poteva essere ottenuta in maniera molto semplice con un paio di righe di codice: using System.Web.Script.Serialization; Customer customer = new Customer() { Name = "Dario Santarelli", Address = "via Pippo 10",...
Uno dei nuovi controlli che troviamo nel tab "Data" della ToolBox di VS2008 è il DataPager. L'interessante funzionalità che esso introduce riguarda la gestione del paging per tutti i controlli "bindabili" che implementano l'interfaccia IPageableItemContainer. In VS2008 l'unico controllo che risponde di default a tale requisito è il controllo ListView. Dunque, se da una parte il ListView e il DataPager costituiscono un' accoppiata già precostituita, dall'altra possiamo adoperarci per "adattare" gli altri data controls (come il GridView) affinchè supportino la paginazione tramite il DataPager. Come è facile intuire, ciò può avvenire estendendo opportunamente tali controlli in...
Sono ormai alcuni anni che mi occupo prevalentemente di sviluppo Web ed integrazione in ambienti distribuiti nell'ambito del B2B e devo dire che nel corso del tempo lo stile architetturale che mi ha convinto di più per riusabilità, scalabilità ed efficienza è REST. In questo blog ne ho parlato una volta soltanto, partendo da alcune riflessioni non troppo entusiaste di altri blogger che evidenziavano GIUSTAMENTE il fatto che REST in realtà ha costituito per molti (me compreso) un 'modus operandi' ancor prima di sapere che si chiamasse così e che fosse collegato da molto tempo ad un vero e proprio...
L'ultima release di ASP.NET MVC (Preview 2) fornisce alcune interessanti novità ed opportunità per gli sviluppatori ASP.NET. In particolare mi ha colpito molto la facilità di implementazione di meccanismi di routing che non siano più dipendenti dal framework MVC e che dunque possano essere facilmente integrati in progetti ASP.NET 'tradizionali'. Infatti, attualmente il framework Mvc è stato partizionato in tre assembly: il solito System.Web.Mvc ed i nuovi System.Web.Routing e System.Web.Abstractions.Da un punto di vista pratico, uno degli usi sicuramente più ovvi delle funzionalità di routing riguarda la possibilità di realizzare qualcosa di alternativo all' Url Rewriting (Routing e Url Rewriting...
Ci sono diversi dettagli a cui dobbiamo fare attenzione quando utilizziamo il behaviour di default del controllo LinqDataSource per quanto riguarda le classiche operazioni di Select, Insert, Update, Delete verso un model layer basato su un mapping con tabelle di un database. Infatti, se da una parte questo nuovo controllo rende ancora più immediato ed intuitivo l'accesso al modello dei dati, dall'altra rischia di autogenerare statement SQL spesso non accettabili da un punto di vista di performance, o comunque non sufficientemente ottimizzati per i nostri fini. Riporto quindi alcuni "fatti" da tener presente quando si sfruttano i meccanismi di autogenerazione...
Oggi mentre stavo studiando il supporto MVC nell'ultima release delle ASP.NET 3.5 Extensions Preview mi sono subito accorto del fatto che, creando una MVC View Page/Content Page, il template di default non genera automaticamente il file <page>.designer.cs/.vb. Questo inconveniente si risolve semplicemente facendo tasto destro sul file all'interno del Solution Explorer e selezionando "Convert to Web Application".Ma guarda tu ;)...P.S.: e anche se in clamoroso ritardo... TANTI AUGURI DI BUON NATALE E FELICE ANNO NUOVO A TUTTI VOI !!! Technorati tags: ASP.NET 3.5 , MVC
Un classico problema delle applicazioni AJAX è mantenere la consistenza della navigazione quando si utilizzano i controlli ("Avanti" e "Indietro") del browser. Chi sviluppa applicazioni Web AJAX-enabled, sicuramente si è accorto di come spesso l'utilizzo del pulsante "Indietro" del browser ad esempio possa provocare una navigazione verso un contenuto o una pagina non desiderata. Il problema è ancor più evidente se vengono generati diversi postback asincroni all'interno della stessa pagina.
Ebbene, se precedentemente dovevamo trovare soluzioni ad hoc più o meno eleganti a questo tipo di anomalia funzionale, ora abbiamo il controllo History, che rende la programmabilità della navigazione logica delle nostre applicazioni AJAX-enabled molto più naturale ed intuitiva.
Questo server control (attualmente nel namespace Microsoft.Web.Preview.UI.Controls) ha...
Full ASP.NET 3.5 Archive