I bug di ASP.NET AJAX 1.0 risolti con ASP.NET AJAX 3.5

di Daniele Bochicchio, in ASP.NET,

Lavorando su MTV.it, l'anno scorso di questi tempi, Stefano ed Ugo avevano trovato tutti i bug possibili ed immaginabili di ASP.NET AJAX, alcuni dei quali avevano lasciato perplesso anche me per la banalità sulla quale alla fine il dev team si era perso. Per rendere un servizio utile a tutti, Stefano durante RCD 2 li aveva anche fatti vedere. Se scaricate il materiale, li trovate tutti documentati.

Recentemente durante un paio di corsi su ASP.NET AJAX 3.5 e consulenza varia sull'argomento ho provato a verificare se fossero ancora presenti con la nuova versione.

Il bug dell'encoding con l'UpdatePanel è risolto (ed era per me il più fastidioso) e non necessità più dell'hack di inserire i file in una directory a parte ed impostare l'encoding su UTF8. In effetti era un bug scoperto dopo 10 secondi dalla RTM, ma molto noioso perchè personalmente preferisco usare ISO-8859-15 come codifica.

E' rimasto invece quello sull'UpdateProgress, che in determinati contesti non scatta, così come l'impossibilità di renderlo modale (cioè, al 100% sull'intera area del browser) senza ricorrere ad un custom control (che resta comunque roba da 10 minuti, in realtà). Anche il problema che ogni tanto VS 2005 si perdeva il riferimento ai controlli pare superato, senza necessità di cambiare il tag prefix su un valore custom.

La maggior parte degli altri piccoli problemi pare risolta, con sostanziali miglioramenti sparsi all'interno di tutto il framework, sia lato client che lato server.

Infine, una considerazione a margine, di cui parlavamo l'altro giorno io e Cristian. A partire dalle ultime versioni anche i controlli estesi vengono aggiunti nel Tag Prefix asp, usando il web.config.

E' il caso di ASP.NET AJAX, sin dalla 1.0, e dei controlli aggiunti con la 3.5.

Se questo è comodo, perchè consente di estendere i controlli disponibili nel prefisso "principale", ha un effetto collaterale, cioè una serie di try/catch nel meccanismo che intercetta quale dei controlli si vuole usare.

Il problema è che così facendo si dissemina una miriade di coppie namespace/assembly sotto un solo tag prefix, rallentando l'operazione di lookup della classe corrispondente, perchè ASP.NET ovviamente prova a cercarla sotto tutte le coppie registrate.

Questa operazione nel caso in cui si abbiano molti controlli può portare ad un forte rallentamento, per cui è consigliabile usare combinazioni univoche per migliorare la velocità del parsing. Questo in realtà vale per tutti i custom control e non si limita a quelli inclusi con il framework, che ovviamente per questione di razionalità è meglio tenere con il tag prefix "asp:", spostando semmai solo quelli specifici per AJAX, che preferisco personalmente tenere sotto il prefisso "ajax".

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Nella stessa categoria
I più letti del mese