luglio 2004 Blog Posts
Un laconica comunicazione del team di Microsoft conferma che sono assenti i tool di testing e performance (aka Code Coverage) presenti invece nella May CTP:
"Unfortunately the perf and test tools are not in Beta 1. The only team system tools available in Whidbey Beta 1 are the Architect tools. The perf and test tools are in the May CTP."
Aspetteremo la (Beta 1)++ ;-)
Ne avevo già parlato da Amsterdam (TechEd '04) ed ecco finalmente i sorgenti del BackgroundWorker per framework 1.1 sviluppati da Juval Lowy nella sua sessione sull'elaborazione asincrona.
I sorgenti, unitamente a moltissimi altri sorgenti di notevole importanza, si trovano sul sito di iDesign:
http://www.idesign.net/idesign/DesktopDefault.aspx?tabindex=5&tabid=8
Ecco le slides delle sessioni del TechEd di Rob Howard tenute ad Amsterdam e Orlando:
http://www.rob-howard.net/
Enjoy ...
Ho scaricato le ISO di VS2005 come cd quando ancora la ISO del DVD non era ancora disponibile al download.
Poi ho cominciato l'installazione usando Virtual CD-Rom Control Panel. Sfortunatamente ho avuto un problema di "file not found" su un file del comapct framework e per ben due volte ho dovuto ricominciare l'installazione. Tra l'altro l'interruzione dell'installazione mi ha causato anche un application error.
Se a qualcuno capitasse la stessa cosa, ho risolto copiando il contenuto dei due CD su una cartella locale per poi installare da hard disk.
Se scegliete di installare Sql Express, vi consiglio di farlo separatamente. Io ho dovuto interrompere l'installazione perchè...
Ricordate il volo per Seattle?
E due!
:-D
A metà dell'ultima sessione è già tempo di andar via. Siamo appena saliti sull'autobus che çi porterà all'areporto e fortunatamente la rete wireless arriva fin qui.
Il resto lo vedrò nei prossimi blog per le considerazioni a freddo ...
Michele Leroux Bustamante, il cui blog si trova al sito www.dasblonde.net, è la speaker di una sessione sull'intercettazione di richieste http.
Dopo una panoramica sulla pipeline di asp.net vengono mostrati gli httpmodules disponibili nel framework.
Viene sotolineata l'importanza di poter intercettare le richieste http prima del global.asax, cioè prima che l'applicazione possa disporne. Si passa quindi ad una serie di esempi di httpmodule per l'autenticazione e la gestione dei ruoli. È importante questo tipo di approccio rispetto al codice che si potrebbe scrivere direttamente nella web application per almeno due motivi: riuso del codice in altri progetti e semplciità nel...
Nella versione 2.0 del framework, un thread concorrente che tenti di usare un controllo visuale nella form, causerà sistematicamente un eccezione InvalidOperationException. Questo avviene però solo nella versione debug per evitare di rompere la compatibilità con eventuali applicazioni che usano questo modo (incorretto) di gestire i controlli.Nella versione 1.1 e nella 2.0 in release mode l'eccezione può avvenire ma non è deterministica per tutta una serie di motivi che Juval Lowy spiega brevemente in questa sessione sulla concorrenza.
Si arriva quindi al nocciolo del discorso con ISynchronizeInvoke. Tutti i controlli derivati da Control la implementano ma il suo uso è...
VS2005 development for smart devices è la sessione presentata da Craig Neable. La parola d'ordine è "Beta 1". È solo da questa release che infatti si riesce a toccare con mano le novità dello sviluppo sul Compact Framework 2.0.
Avevo già fatto dei test con le varie alpha di Visual Studio senza grossi risultati. Più volte infatti è stato ribadito che il Compact Framework era una delle cose rimaste più indietro nelle alpha.
Con un po' di dispiacere apprendo che C++ non sarà utilizzabile per lo sviluppo di codice managed. Si potrà in compenso scrivere codice nativo e avere solution miste...
Ancora Ronald Laeremans in una sessione dedicata all'analisi del codice prodotto dal compilatore VC++ con lo switch /clr. Vengono mostrati ua serie di esempi e il relativo codice IL.
Si parla ovviamente già di codice C++/CLR e le managed extension sembrano già dimenticate da tutti i presenti in aula.
L'interoperabilità tra codice nativo e managed subisce la trasformazione automatica del codice chiamata IJW (It Just Works) da parte del compilatore che provvede a realizzare il thunking e il marshaling necessario.
Ora non ci resta che aspettare la beta 1 per avere una versione del compilatore che supporti pienamente le specifiche C++/CLI.
Gianluca Hotz, noto guru di SQL Server, disperato per le nuove funzionalità di Yukon, AKA Sql Server 2005.
... non ho però le foto dei salti di gioia dei programmatori che invaderanno prepotentemente (aiuto!) il territorio di SQL.
Quando sarà disponibile Sql2005, abbiate pietà!
Qui, anche le bottigliette d'acqua sono High-Tech :-)
Scott Nonnemberg è lo speaker della sessione sul debugging di applicazioni managed.
Si parte con il debugging di script (wscript e cscript) e poi javascript in applicazioni asp.net. Un piccolo tip per chi debugga script con browser diversi da IE: è necessario togliere nelle opzioni del progetto asp.net il checkbox che indica di usare solo IE come browser per il debugging.
Una cosa importante da ricordare è quella che il debugger deve essere attaccato al processo che contiene il codice vogliamo debuggare. Questo vale sia per gli script che per il codice managed. Per esempio se voglio debuggare un...
Non confondiamo le beta delle versioni Express con quella 'vera'.
Voci dal team di Visual Studio parlano di circa due settimane prima del rilascio sul sito di msdn downloads.
D'altra parte, anche se la mia speranza era quella di portare a casa il DVD al più presto, lo scopo del TechEd è ben diverso. Qui lo scopo è quello di approfondire, discutere, confrontarsi e verificare tutte quelle informazioni che fanno parte del nostro lavoro ogni giorno.
Oggi le caratteristiche di Visual Studio 2005 sono più importanti sulla carta più che sui bit del nostro hard disk. Per i più lo scopo è infatti...
Non potevo mancare alla sessione sulle prospettive del porting delle applicazioni VC++ verso il framework. Il relatore è Ronald Laeremans che avevo conosciuto a Redmond durante la giornata con il team di sviluppo di Visual C++.
Si parte con le applicazioni MFC. Sarà posibile migrare nella maggiorn parte dei casi. Per le applicazioni UI è necessario rinunciare alla classica document/view, hosting di oggetti OLE e rendering diretto con il GDI per usare gli strumenti più classici delle Winforms. E inoltre Indispensabile compilare per Unicode, usare MFC come DLL e non staticamente.In sostanza il futuro di MFC non è segnato ma...
I circa 5000 attendees (wow) in "sala da pranzo" :-o
Nella MVP lounge, il rumore delle tastiere è il sottofondo ufficiale
... e mentre tutti cliccano, là fuori c'è la bella Amsterdam
Ancora problemi per la wireless del TechEd.
Il primo problema viene da qualche burlone che ha creato una rete parallela peer-to-peer con lo stesso nome (MSEVENTS) per creare un noioso fattore di disturbo.
Ci sono però anche problemi di numeri, tantissimi infatti i delegate che stanno usando la wireless da tutti gli angoli del RAI center di Amsterdam. I responsabili dell'evento ammettono il problema.
L'impressione è che ancora una volta l'architettura wi-fi dimostri tutta la sua già nota debolezza che potrebbe precluderne la diffusione che ho sempre sperato.
Certamente la più grande responsabilità viene dagli sponsor hardware della wireless che non hanno previsto alcuna contromisura per...
Juval Lowy tiene a sessione sul versioning degli assembly, con una lunga carrellata sulla GAC e sulle varie strategie di gestione della versione nei progetti.
Viene affrontato un lungo discorso sul binding delle versioni degli assembly: visto che il controllo di versione non viene fatto su quelli a cui non assegnamo uno strong name, è necessario che questi assembly siano compatibili con le versioni precedenti. Non è invece necessario per quelli che hanno uno stong name proprio perchè verrà sempre usata la versione referenziata nel progetto.
Si affronta quindi la configurazione con il .NET Configuation tool che aggiunge al file...
Jackie Goldstein, regional direcotor in Israele, è il relatore della sessione sugli application blocks.
Dopo un introduzione sui pattern & practices provvisti da Microsoft si passa ad una descrizione dei vari application block disponibili: User Interface, Smart client, Application Updater, Authorization & Profile Logging, Caching, Exception Management, Confgiuration Management, Data Access, Asynch Invocation, Service Aggregation.
Mentre nei pattern troviamo delle indicazioni puramente architetturali su come affrontare e risolvere strutturalmente un'applicazione, gli application block sono delle piccole porzioni di codice che mostrano in modo molto pratico come risolvere specifici problemi.
Ho sempre visto a queste soluzioni come un ottimo punto di...