posts - 644, comments - 2003, trackbacks - 137

My Links

News

Raffaele Rialdi website

Su questo sito si trovano i miei articoli, esempi, snippet, tools, etc.

Archives

Post Categories

Image Galleries

Blogs

Links

.NET [Italiano]

Programmazione del Framework.net (lingua Italiana)
Pubblicato su MSDN USA un mio articolo sul Micro Framework

È con grande piacere che apprendo che il mio secondo articolo sul Micro Framework "Realizzare un'applicazione con Micro Framework.NET" che ho tradotto ad Agosto è stato pubblicato nella prima edizione della "Microsoft .NET Micro Framework newsletter". ...

posted @ sabato 22 settembre 2007 01:11 | Feedback (5) | Filed Under [ .NET [Italiano] ]

DotNetMarche, Workflow, Cardspace e Orcas

Leggendo il post di Stefano, non potevo non aggiungere che l'integrazione di WCF con WF in Orcas sarà uno degli argomenti di cui parlerò ad Ancona a DotNetMarche. Ovviamente, essendo WF relativamente nuovo, il discorso inizierà da zero per poi arrivare ad argomenti come questo che semplificano tanto rispetto alla versione 3.0. Quanto a Cardspace, l'argomento è tutt'altro che scorrelato perché Cardspace va a braccetto non solo con asp.net ma anche con WCF e WF. Se quindi l'argomento vi interessa e siete di quelle parti, spero di incontrarvi.

posted @ giovedì 20 settembre 2007 13:13 | Feedback (1) | Filed Under [ .NET [Italiano] ]

WPC 2007, che spettacolo!

Credo che quest'anno mi divertirò più che mai. Io e Max stiamo preparando Hacking 101, una sessione lunghissima, per contenuti come di quella di due anni fa, con tantissime demo e molto molto densa di argomenti. Non posso dire altro, ma credo che sarà realmente molto interessante. Ho già preparato la "Design for Scalability e Performance" che, essendo nella track "Manageriale Sistemi", sarà molto orientata alle scelte decisionali tra le varie tecnologie a disposizione oggi, guardando soprattutto alla scalabilità e alle performance. Pronta anche la "Security By Design" che affronta il tema della sicurezza nell'architettura di una applicazione. La sessione sarà tutt'altro che teorica,...

posted @ giovedì 20 settembre 2007 13:04 | Feedback (2) | Filed Under [ .NET [Italiano] Mobile ]

PDC 2005 a Settembre

La PDC (Professional Developer Conference) è un'evento veramente speciale perchè, al contrario di altri eventi, è dedicato interamente allo sviluppo (ovviamente su piattaforma Microsoft). Così come nel 2003 si tiene nuovamente a Los Angeles e gli echi di quella PDC sono ancora argomenti di grossa discussione: Longhorn, VS2005, il framework 2.0 etc. etc. Ci sarò anche quest'anno (nel 2004 non si è tenuta) insieme (tra i tanti) a Andrea, Corrado, Fabio, Daniele, Ricciolo, Marco, Paolo, Roberto e Luca. Così come allora farò il bloggatore folle per raccontare quanto più possibile dei tantissimi argomenti caldi: WinFS (si, si, poi arriverà anche questo), Indigo, IIS7, Avalanche,...

posted @ martedì 19 luglio 2005 01:56 | Feedback (3) | Filed Under [ .NET [Italiano] ]

Enumerare i siti nel metabase di IIS

Grazie a System.DirectoryServices è possibile curiosare anche nel metabase di IIS. Il provider da usare è “IIS“. Per esempio, volendo enumerare i siti web di un certo Server (localhost nell'esempio) si procede in questo modo.    // Ottengo l'oggetto IIS Web Service   DirectoryEntry deWebSites = new DirectoryEntry("IIS://localhost/w3svc");   // enumero gli oggetti child   foreach(DirectoryEntry deSite in deWebSites.Children)   {    // sotto Web Service ci sono i web ma anche gli Application Pools, etc.    if(deSite.SchemaClassName != "IIsWebServer")     continue;     // prendo la collection ServerBindings che corrisponde al contenuto della    // dialog “Web site identification“ - Advanced    object[] oServerBindings = (object[])deSite.Invoke("Get", "ServerBindings");    // enumero gli oggetti    foreach(object oBinding in oServerBindings)    {     // ciascuno di questi oggetti è una stringa...

posted @ martedì 12 luglio 2005 10:33 | Feedback (3) | Filed Under [ .NET [Italiano] ]

Mobility Conference (Roma) vs Workshop Component Development (Milano)

Non c'è pace per le conferenze e allo stesso modo non ci si può lamentare che non manchino ghiotte occasioni per avere informazioni e chiaccherare con gli speakers. All'angolo destro del ring, a Milano, abbiamo il Workshop UGIdotNET sul Component Development.Speaker di eccezione Corrado Cavalli, Davide Vernole e Fabio Santini. All'angolo sinistro del ring, a Roma, c'è la Mobility Conference.Speaker di eccezione Roberto Brunetti e Fabio Santini. A questo punto la domanda è: ma come fa Fabio a presentare sessioni sia a Roma che Milano? Se vi ponete questa domanda, significa che non conoscete bene Fabio ;-)Miracoli a parte tutto si spiega con le date vicine ma...

posted @ giovedì 23 giugno 2005 16:29 | Feedback (2) | Filed Under [ .NET [Italiano] ]

Tour Italiano concluso

Il developer security tour che ha visto il sottoscritto e Fabio a zonzo per Roma, Torino, Bologna, Bari, Udine e Palermo si è concluso.Anche le tappe di Udine e Palermo sono state molto produttive e 'popolose' portando il numero dei contatti totali oltre le 800 persone :-) Ringrazio quindi tutti coloro che hanno partecipato e ricordare che il sito dove sono pubblicate slides ed esempi è quello di Fabio e cioè http://www.fsantini.net. Nel weekend provvederò a mandare ancora questo materiale a Fabio da pubblicare:- L'esempio della sessione Windows Security dove leggo programmaticamente i Token di processo e di thread da C#.- La...

posted @ giovedì 23 giugno 2005 16:08 | Feedback (4) | Filed Under [ .NET [Italiano] ]

Roadshow di Bologna e Bari, mission accomplished

Con affanno dopo una settimana in giro per l'italia a base di treni, aerei e naturalmente ritardi, eccomi nuovamente a casa.Mi mancavano casa, moglie e il sorriso di mio figlio Daniele che mi è saltato addosso come mi ha visto :-) e che ha cercato di recuperare il tempo perduto con i nostri giochi. A Bologna l'evento si è tenuto ancora una volta in un cinema. Ottima quindi la proiezione video e fin troppo comode le poltrone. A tenere sveglia la platea c'è sempre il buon Fabio che sfoggia sempre battute a raffica. Le circa 170 persone presenti mi hanno sopportato info...

posted @ domenica 12 giugno 2005 01:31 | Feedback (6) | Filed Under [ .NET [Italiano] ]

Technology posters

Tempo fa in ben due workshop sono stati dati i poster relativi a Visual Studio 2003, comprese sia le varie tecnologie correlate al Framework.net che quelle del mondo unmanaged (MFC etc.). Per chi se li è persi ... mi spiace :-) Per chi li vuole downloadare, lo può fare in Italiano e/o Inglese da questi link: http://www.microsoft.com/italy/msdn/prodotti/vstudio/download/poster.mspx http://msdn.microsoft.com/vstudio/productinfo/posters/download.aspx

posted @ domenica 29 maggio 2005 01:21 | Feedback (1) | Filed Under [ .NET [Italiano] ]

Chi sente il problema della sicurezza nel codice? aka Msdn Roadshow ...

Forse la lezione che ha portato alla famigerata SP2 di XP sta spingendo verso una svolta? Chissà, spero proprio di si. Tempo fa ad una conference, Keith Brown chiese alla platea perchè fossimo presenti ad una sessione che parlava di sicurezza nel codice (era l'epoca di COM, DCOM e RPC-API), guardò me e io risposi che non volevo più mettere “NULL“ nel parametro 'security attributes' delle Win32. La salomonica morale è che il supporto per costruire codice sicuro c'è, poi bisogna anche usarlo ma in passato non è stato poi così semplice. Acqua sotto i ponti ne è passata tanta, codice vulnerabile ne è...

posted @ venerdì 13 maggio 2005 01:49 | Feedback (8) | Filed Under [ .NET [Italiano] ]

Visual C++ in primo piano con VS2005

Con molto affanno torno sul VC++ Day ... le due giornate passate con April, Ronald e Nikola sono state entusiasmanti. Non ho memoria di un evento su VC++ e se c'erano voci che il C++ stesse per andare in cantina, all'evento sono state smentite con i fatti. Circa 140 persone, 55 tester e 16 PM si occupano di questo gioiello che serve a sviluppare il 95% del codice prodotto da Microsoft. Riassumere tutto sarebbe veramente lunghissimo e quindi mi terrò argomenti per futuri blog, dopo aver approfondito i singoli punti, però alcune cose mi fa piacere ricordarle: Adeguamento allo standard ISO. Questo è un...

posted @ giovedì 12 maggio 2005 23:04 | Feedback (8) | Filed Under [ .NET [Italiano] C++ [Italiano] ]

Giovedi, beta 2 per tutti su dvd

Si, parlo proprio del Visual C++ Day, evento durante il quale verrà distribuito il DVD della beta 2 di Visual Studio 2005. Cosa significa avere tra le mani una beta di un sistema di sviluppo? un occasione d'oro per sapere se il lavoro di oggi è in linea con gli strumenti di domani un modo per sviluppare classi, componenti e controlli che mimino il funzionamento di quelli che esisteranno tra pochi mesi, supportati ufficialmente da MS ed in futuro evoluti. una possibilità per anticipare i tempi dello sviluppo di un prodotto che nascerà almeno nel 2006 (o anche prima visto che la licenza go-live...

posted @ martedì 3 maggio 2005 17:06 | Feedback (2) | Filed Under [ .NET [Italiano] ]

Evento VC++ ufficializzato ... ci vediamo lì?

Finalmente la pagina ufficiale dell'evento su Visual C++ 2005 che si terrà il 5 Maggio: http://www.microsoft.com/italy/msdn/eventi/developer/visualcday.mspx Ecco l'agenda della giornata: 09.30 – 10.00 Registrazione10.00 - 11.00 Da Visual C++ 6 a Visual C++ 2003 e Visual C++ 2005: panoramica delle caratteristiche11:00 – 12:00 Migrazione da Visual C++ 6 a Visual C++ 2003 12:00 – 13:00 Migrazione da Visual C++ 2003 a Visual C++ 200513:00 – 14:00 Pranzo14:00 – 15:00 Funzionalità legate alla sicurezza in Visual C++ 2003 e 2005 15:00 – 15.45 Performance in Visual C++ 2003 e 200515.45 – 16:00 Coffee Break16:00 – 17:00 Da codice nativo a codice managed e interoperabilità...

posted @ giovedì 14 aprile 2005 02:00 | Feedback (1) | Filed Under [ .NET [Italiano] ]

Dopo la beta 2 un nuovo look per i tab di Visual Studio 2005

Lo stile dei tab cambierà dopo la beta 2. Non so ancora se sia meglio o peggio ...

posted @ mercoledì 6 aprile 2005 00:39 | Feedback (1) | Filed Under [ .NET [Italiano] ]

La rivolta contro i dataset

A poco più di un mese di distanza dal workshop “Data Management” dove ho evidenziato le debolezze del dataset per progetti consistenti, ecco apparire su MSDN un articolo intitolato “On the Way to Mastering ASP.NET: Introducing Custom Entity Classes”. Quando nel summary ho letto le parole “There are situations for which untyped DataSets may not be the best solution for data manipulation” mi sono detto che mi suonavano molto familiari :-) Naturalmente, essendo orientato ad asp.net l'articolo non tocca quegli aspetti che sono stati il culmine della mia sessione, in particolare (ma non solo) l'implementazione di IBindingList e ITypedList. Resta comunque il fatto...

posted @ martedì 5 aprile 2005 23:18 | Feedback (14) | Filed Under [ .NET [Italiano] ADO.NET [Italiano] ]

Strong Name Bug: correte a fare la SP1 su Win2003!

Sto facendo ancora dei test e quindi preferisco ritardare di qualche giorno un post più completo a tal proposito. Il succo è questo: nei framework 1.0 e 1.1 è possibile fare tampering di un assembly firmato con strong name senza che la CAS lanci la SecurityException. La cosa più buffa è che, al contrario di quello che sostiene MSDN (cioè che gli strong name prevengono il tampering), le specifiche ECMA dicono il contrario, indicando lo strong name esclusivamente per eseguire un buon versioning.Rimando a questo proposito all'amico Valery (che ricordo ancora dai tempi della vecchia mailing list su DCOM) che in un...

posted @ lunedì 4 aprile 2005 01:49 | Feedback (5) | Filed Under [ .NET [Italiano] ]

Finalmente l'evento C++ a Milano il 5 Maggio

Come previsto il 5 e 6 Maggio 2005 in Microsoft a Milano si terrà una due giorni di C++/CLI.Durante il primo giorno si parlerà di: Novità del compilatore C++ in Visual Studio 2005 (il nuovo standard C++/CLI) Problematiche di sicurezza e performance Come mixare codice managed e unmanaged Migrazione del codice dalle versioni precedenti del compilatore Il secondo giorno si svolgerà come hand-on-lab solo su invito. A mio parere C++/CLI sarà il linguaggio di riferimento per risolvere tutti i problemi di interoperabilità con vecchio codice e la soluzione alle necessità di performance spinte in dotnet. Invito tutti gli interessati al primo giorno a darmi feedback nel blog per il...

posted @ martedì 29 marzo 2005 19:43 | Feedback (6) | Filed Under [ .NET [Italiano] ]

IL inlining ... un sogno che diventa realtà

L'avevo chiesto durante la alpha di Whidbey e chissà se ci penseranno per Orcas. Nel frattempo qualcuno l'ha fatto! È possibile mischiare codice C# (o vb.net) con IL. Non è il massimo della comodità ma lo ritengo un buon strumento per giocare con IL.

posted @ martedì 29 marzo 2005 15:52 | Feedback (6) | Filed Under [ .NET [Italiano] ]

Deserialize ... ed è subito bug

C'è un bel bug nella classe Font. Se provate a deserializzarla usando il formatter Soap otterrete una antipatica InvalidCastException mentre con il formatter binario tutto filerà liscio. // Costruttore che deserializza della classe Font, preso con Reflectorprivate Font(SerializationInfo info, StreamingContext context){    // ....    SerializationInfoEnumerator enumerator1 = info.GetEnumerator();    while (enumerator1.MoveNext())    {        // ...         if (string.Compare(enumerator1.Name, "Size", true, CultureInfo.InvariantCulture) == 0)           {                single1 = (float) enumerator1.Value;         // Bug! InvalidCastException                continue;           }         // ...     } Il bug è dovuto al fatto che il Soap salva i tipi nativi in formato stringa (float nella fattispecie) e quando viene deserializzato, il cast provoca l'erroraccio. Avrebbero dovuto invece usare per esempio Convert.ToSingle e il...

posted @ domenica 27 marzo 2005 16:48 | Feedback (1) | Filed Under [ .NET [Italiano] ]

VS.NET Dynamic Help... bye bye

Ebbene sì, non l'ho mai sopportato e ora ho trovato come disabilitarlo definitivamente: HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\7.1\Dynamic HelpImpostare il valore della chiave “Never Show DH on F1” a “YES” Che sollievo!

posted @ venerdì 25 marzo 2005 17:39 | Feedback (6) | Filed Under [ .NET [Italiano] ]

Indigo, transparency e comunicazioni all'interno di un appdomain

Al termine della giornata dopo una chiaccherata con Dario, ho fatto una domanda in merito alle ottimizzazioni possibili per un dialog tra un client ed un server Indigo nello stesso appdomain. In COM eravamo abituati bene e, quando oggetti client e server stavano all'interno dello stesso apartment godevano della notevole ottimizzazione di avere un accesso diretto, tramite puntatore, come se l'infrastruttura COM non esistesse e fosse stato allocata una normale classe C++. Nella mia domanda ho subito premesso che questo con Indigo non è possibile by design, in quanto oggetti e servizi sono due cose molto diverse, tanto che in Indigo un metodo...

posted @ mercoledì 23 marzo 2005 13:12 | Feedback (7) | Filed Under [ .NET [Italiano] ]

Architect Day con David Chappel

Splendida giornata oggi con David Chappel che avevamo incontrato un anno fa al Longhorn day. Mi ha raccontato che la nostra foto di allora (inisieme a Corrado, Andrea, Pierre ed Alessandro) gira ancora sul suo screensaver, così ho pensato bloggare questa grazie a Lorenzo. David ha sfoderato le sue doti di ottimo oratore e ha spiegato con estrema chiarezza e semplicità i concetti chiave che girano intorno a SOA e alla più recente CTP di Indigo. In teoria grosse novità con le prossime build non ce ne dovrebbero essere ma il condizionale è ovviamente d'obbligo. La mattinata è stata tutta dedicata ai concetti che orbitano...

posted @ mercoledì 23 marzo 2005 00:25 | Feedback (3) | Filed Under [ .NET [Italiano] ]

Disponibili le slides e gli esempi del Workshop

Andrea ha pubblicato tutte le slides e gli esempi del workshop dello scorso 10 Febbraio. Una raccomandazione: è necessario essere loggati al sito per poter vedere i file da scaricare. Nello zip dell'esempio 2 (progetto biz) della mia sessione su Winform Databinding è presente un object model che propone un possibile object model per l'intero db di Northwind. Ovviamente non è una soluzione completa e ad esempio il data layer contiene solo il codice per caricare alcune tabelle.Le classi corrispondenti alle tabelle (e relative collection) ci sono però tutte quante e mi raccomando non spaventatevi per il file collections.cs (che contiene tutte le collectionp...

posted @ giovedì 17 febbraio 2005 10:59 | Feedback (4) | Filed Under [ .NET [Italiano] ]

Webcast su C# parte 2

Neppure il tempo di riprendere fiato dal workshop che siamo già a pochi minuti dall'inizio del webcast su C# (parte 2). I dettagli sono presenti qui:http://www.microsoft.com/italy/msdn/eventi/webcast/default.mspx Chi vuole passare al lato oscuro della programmazione è benvenuto :-)

posted @ venerdì 11 febbraio 2005 15:11 | Feedback (1) | Filed Under [ .NET [Italiano] ]

Tra poche ore il Webcast sull'introduzione a C#

Il giorno 4 Febbraio alle 14:30 inizia il webcast sull'introduzione a C# tenuto dal sottoscritto. In questa prima parte parlo dei concetti base e quindi può essere noioso a chi già conosce C#, ma se qualche programmatore vb.net volesse partecipare, forse riesco ancora convincerlo a passare al lato oscuro della programmazione ;-)

posted @ giovedì 3 febbraio 2005 23:02 | Feedback (4) | Filed Under [ .NET [Italiano] ]

Stampare un file su una stampante a scelta

Visto che la domanda è sempre più frequente ho pensato di metterla sul blog. Per stampare un file arbitrario da un PC la soluzione è quella di usare i servizi della shell di Windows. La tipologia di file specificato è indifferente e dipende solo se sul PC in questione è stato installato un applicativo in grado di 'capire' il formato del file e i verb che la shell di Windows richiede. I verb sono dei comandi che la shell impartisce agli applicativi tramite command line. Il modo in cui passare questi comandi è standard ed è scritto nel registry dalla stessa applicazione...

posted @ giovedì 27 gennaio 2005 12:16 | Feedback (10) | Filed Under [ .NET [Italiano] ]

Primo dispiacere con VS2005 e il refactoring

Un po' di tempo fa avevo trovato un bug sul refactoring di VS2005. Se infatti provate a fare un refactoring di “str“ in questo frammento di codice:#define Extra...#if Extrastring str = "Hello, world";#elsestring str = "Hello, world from Raffaele";#endifil risultato è che solo il codice nella region “attiva” viene cambiato mentre quella in grigio perchè disattiva rimane esclusa dal refactoring. Se si usano le region in modo un po' pesante, questo rende inutilizzabile il refactoring per cui lo considero un bug molto grave. La brutta notizia è che non verrà fissato. Sebbene mi venga riconosciuto che è un bug, non è possibile fissarlo per...

posted @ lunedì 24 gennaio 2005 15:28 | Feedback (1) | Filed Under [ .NET [Italiano] ]

Webcast... tocca a me

Le date sono confermate e li vedrete apparire presto al solito link con relativo abstract. Il 4 e 11 Febbraio terrò i miei primi due webcast introducendo al linguaggio C# ... ovviamente della versione 1.1 ;) L'agenda è bella ricca e la vera impresa è far stare tutto quanto in soli due slot ... anche se me ne dessero 5 riuscirei a sforare comunque... :D L'argomento è apparentemente semplice ma ho sempre fatto fatica a spiegare le cose più semplici perché quando si familiarizza con un argomento, diventa complicato mettersi nella testa di chi quelle cose ancora non le conosce e riuscire ad 'accendere la...

posted @ mercoledì 19 gennaio 2005 23:09 | Feedback (3) | Filed Under [ .NET [Italiano] ]

Tip VS2003: personalizzare la visualizzazione di una classe durante il debug

In VS2005 avremo i visualizer che permetteranno di mostrare in modo personalizzato il contenuto di un oggetto durante la fase di debugging. Ma adesso come fare? Ereditato dalle vecchie versioni di Visual C++, è possibile istruire il debugger di Visual Studio 2003 di mostrare un campo piuttosto di un altro dentro la finestra di debugging. Prendiamo ad esempio la classe:public class MyClass{   private int _a;   private int _b;   public MyClass(int a, int b)   {       _a = a;       _b = b;    }} ... nel debugger la vediamo generalmente così:   Visual Studio 2003 ci consente invece di personalizzare la vista all'interno del debugger (nei watch, nei local,...

posted @ mercoledì 19 gennaio 2005 10:50 | Feedback (0) | Filed Under [ .NET [Italiano] ]

Le date di Visual Studio 2005

In una recente chat, uno dei team di sviluppo ha confermato che le date che grossomodo si conoscevano già. La beta 2 di Visual Studio 2005 uscirà tra la fine di Marzo e Aprile. La RTM è prevista tra 4 e 6 mesi più tardi, quindi tra Agosto e Ottobre È prevista anche una nuova CTP prima della beta 2 che dovremmo vedere abbastanza presto.

posted @ lunedì 17 gennaio 2005 10:00 | Feedback (1) | Filed Under [ .NET [Italiano] ]

MVPTools: convertire gli URL di MSDN Library ... e non solo

Molto tempo fa mi sono detto che era una scocciatura tenersi nei favoriti gli URL di MSDN Library perchè hanno questo formato:ms-help://MS.MSDNQTR.2004OCT.1033/..... mentre è preferibile tenersi da parte quelli nel formato http://msdn.microsoft.com/libary/... Questo significa che sono locali e che cambiano ogni tre mesi (aggiornamento spedito da Microsoft).Inoltre spesso chi fa domande sui newsgroup e sui forum di UGIdotNET preferisce ricevere URL che puntino alla documentazione italiana e non a quella inglese.La conversione degli URL non è banale perchè ci sono molte eccezioni come la sezione del dhtml, la Knowledge Base, l'odbc sdk, etc. etc. Il risultato è un tool freeware che ho...

posted @ sabato 15 gennaio 2005 13:28 | Feedback (3) | Filed Under [ .NET [Italiano] ]

Usare "My Places" in Visual Studio.NET

My Places è quell'area nelle open/save dialog che ospita alcune cartelle "favorite". Già note a chi fa uso di Office, esiste anche in Visual Studio.NET e io lo trovo particolarmente utile per saltare velocemente tra le cartelle dei miei progetti. Visual Studio non permette di aggiungere nuove cartelle in My Places però lo si può fare con Office, a patto di usare la versione giusta, cioè la 10 (nella open dialog si sceglie Tools - Add to My Places). Si può usare ad esempio Visio for Enterprise Architects ma non Office 2003 perchè usa un ramo diverso del registry. Con poco sforzo...

posted @ venerdì 14 gennaio 2005 22:19 | Feedback (2) | Filed Under [ .NET [Italiano] ]

Singleton senza static (o shared se preferite)

Il pattern singleton è forse uno dei più conosciuti e consiste nel limitare una classe ad una sola istanza e che questa sia accessibile pubblicamente. Il modo più semplice per implementare un singleton è quello di definire una classe in questo modo: // Singleton in C# 1.xpublic sealed class MyClass   // sealed evita che sia derivabile{  private MyClass {}  // costruttore privato per evitare che la classe sia istanziabile  public static int MyMethod(int x, int y) {return x+y;} // Metodo statico}Dove posso usare la forma MyClass.MyMethod(2, 3); In C# 2.0 la forma è più elegante ma pressochè identica:public static class MyClass  // static...

posted @ mercoledì 12 gennaio 2005 22:39 | Feedback (11) | Filed Under [ .NET [Italiano] ]

Workshop "Data Management"

Sono stati appena pubblicati da Andrea gli abstract delle sessioni del prossimo workshop del 10 Febbraio. La mia sessione sul binding mi elettrizza espero di riuscire a far stare nei tempi ed in modo piacevole tutto ciò di cui vorrei parlare. Anticipo già che uno dei temi sarà quello del complex binding con custom entity. In pratica mettere in binding il proprio object model in modo da avere il pieno supporto del design time, usufruire della navigazione gerarchica, aggiornamento automatico del controllo al cambio della base dati, etc.Sono infatti tra i sostenitori che il DataSet sia tanto bello, ma per i problemi complessi...

posted @ martedì 11 gennaio 2005 13:10 | Feedback (2) | Filed Under [ .NET [Italiano] ]

Riflessioni sul problema "StackTrace, Assembly e .NET"

In riferimento al mio precedente post, se effettivamente come penso Microsoft chiuderà la richiesta di Paolo come “by design”, questo riduce notevolmente le possibilità di usare StackTrace e compagnia bella dentro le applicazioni. L'unico modo sicuro per ovviare al problema dell'inlining rimane quello di impedire che avvenga. I creatori del framewor, così come avviene in ogni piattaforma/compilatore ci hanno pensato e la cosa è fattibile in pieno stile dotnet. È sufficiente infatti decorare tutti i metodi che si vogliono risalire con StackTrace con questo attributo: [MethodImplAttribute(MethodImplOptions.NoInlining)] Resta il fatto che le performance possono rimanere seriamente degradate dal mancato uso di inlining, tanto più...

posted @ lunedì 13 dicembre 2004 00:41 | Feedback (2) | Filed Under [ .NET [Italiano] ]

La soluzione al problema di "StackTrace, Assembly e .NET"

Penso proprio di avere la soluzione in tasca, ma come sempre è meglio confrontarsi con gli altri e quale posto migliore del blog? Anticipando le conclusioni non sono così convinto che si tratti di bug... perlomeno è discutibile. Il tutto è originato da un post di Paolo suggeritomi da Cristian su cui ho fatto un po' di ricerche un paio di giorni fa a seguito del quale anche Marco (nei commenti del mio post) appoggiava la mia tesi. Mentre questo pomeriggio rimuginavo sulla frase riportata su MSDN: "StackTrace might not report as many method calls as expected, due to code transformations...

posted @ domenica 12 dicembre 2004 22:58 | Feedback (7) | Filed Under [ .NET [Italiano] ]

Test sul post di Paolo "StackTrace, Assembly e .NET"

Incuriosito da questo post di Paolo segnalatomi da Cristian, non ho resistito a fare qualche test. Il problema l'ho potuto riscontrare anch'io e quindi ho cominciato a debuggare in assembler per vedere se c'erano differenze macroscopiche.Per poter debuggare una versione release c'è il solito trucco di iniettare l'istruzione int 3 in assembler e così ho fatto con una micro dll di appoggio in C++. Immediatamente ho potuto riscontrare che il problema non si presentava più e sistematicamente ogni volta che tentavo di iniettare il codice il problema spariva. Quindi mi è venuto il dubbio potesse essere un problema di passaggio parametri e...

posted @ sabato 11 dicembre 2004 01:58 | Feedback (4) | Filed Under [ .NET [Italiano] ]

Queste CTP pesano!

Si chiamano Community Technology Preview, sono delle versioni meno stabili delle più note beta, e te le devi scaricare. Questo è masochismo allo stato puro! Ma il software è un po' come il pesce, dopo un po' che sta lì puzza e così resto speranzoso di una nuova release.È per questo che ho messo in download 4,5GB di software e meno male che ho un abbonamento MSDN Universal, altrimenti ... :-) Ma quando si tratta di pre-release è noto che non mi tiro indietro e così via di corsa a scaricare SQL Server 2005 CTP e la versione di VS.NET 2005 ad-hoc per...

posted @ venerdì 10 dicembre 2004 17:52 | Feedback (2) | Filed Under [ .NET [Italiano] ]

Prospettive C# e VB.NET nel framework 2.0

È una delle domande più ricorrenti ... è meglio usare C# o VB.net? Mamma mia in che post mi sono cacciato! Allora preciso subito alcune cose: entrambi i linguaggi avranno (a mio avviso) vita lunga, direi lunghissima non ci sarà mai modo di dare un giudizio che obbiettivamente riconosca uno dei due come avvantaggiato in senso assoluto probabilmente la divergenza tra i due tenderà ad aumentare Queste sono le (mie) risposte quando mi vengono rivolte queste domande. Però da tante cose che leggo ho la convinzione che la strategia nei cambiamenti di VB.net è di andare sempre di più in direzione degli strumenti RAD (Rapid Application Development) mentre...

posted @ martedì 7 dicembre 2004 20:21 | Feedback (4) | Filed Under [ .NET [Italiano] ]

Ecco la domanda che ho fatto a Bill Gates

Ho avuto il piacere di essere uno dei tre MVP a poter porre una domanda a Bill Gates. La domanda è stata naturalmente concordata nei giorni scorsi e infatti i tre candidati erano seduti in prima fila pronti in attesa di microfono. Io ho posto la domanda di taglio developer che riassunta in poche parole suonava una cosa del tipo: quando pensa Microsoft di convertire i suoi prodotti di punta come Office in codice dotnet. A dire il vero una idea me l'ero già fatta quando al MVP Summit avevo ascoltato dal team di C++ che una giusto mix tra codice managed e...

posted @ venerdì 19 novembre 2004 01:42 | Feedback (0) | Filed Under [ .NET [Italiano] ]

DataAdapter e NullReferenceException

Sarà la giornata, sarà che c'è sempre qualcosa da imparare ma quando capitano non è proprio piacevole. Ho potuto sperimentare uno strano comportamento (che oserei chiamare bug): Se una DataTable è in binding con una grid Se la si svuota di di righe e colonne Se la si riempie nuovamente (ho provato a preparare prima lo schema con FillSchema ma è stato ininfluente Durante una operazione di update del DataAdapter (sia su Sql Server che su Sql Server CE, ma credo che abbia poca importanza) può arrivare una bella NullReferenceException. Ovviamente non capita con ogni genere di query, se no sarebbe stato troppo semplice, e questo spiega quel...

posted @ mercoledì 17 novembre 2004 22:11 | Feedback (1) | Filed Under [ .NET [Italiano] ]

It's a managed world

Più e più volte abbiamo detto che il futuro è managed. A ulteriore riprova di questa affermazione, Monad, la futura command prompt di Windows che con tutta probabilità farà la sua apparizione anche in XP e Win2003, è interamente basata su codice managed.Fin qui, direte voi, ci voleva poco ad intuirlo ... la cosa carina è che è facilmente espandibile scrivendo in C# o VB.NET. Di Monad è da tanto che se ne parla, è da poco che sono nella beta, è da pochissimo che sto cominciando a curiosarci dentro... ma il futuro di questa shell è più che promettente.... direi fantastico, altro che...

posted @ mercoledì 17 novembre 2004 01:35 | Feedback (3) | Filed Under [ .NET [Italiano] ]

Quella sottile linea che divide un bug da una suggestion

Pianeta Ladybug, lavorando con il refactoring di C# mi accorgo di una grave mancanza che a mio parere è un bel bug.In un innocente listato C#, inserisco delle compilazioni condizionali:#define Extra...#if Extrastring str = "Hello, world";#elsestring str = "Hello, world from Raffaele";#endif Poi faccio il refactoring di str per rinominarlo a Message e che scopro? #define Extra...#if Extrastring Message = "Hello, world";#elsestring str = "Hello, world from Raffaele";#endif La variabile str (che in quel momento è fuori dalla compilazione) rimane escusa dal refactor! Un gran bel bug dico io ... poco male, lo segnalo e lo metteranno a posto. Poi arriva il commento del team che inizia...

posted @ martedì 16 novembre 2004 10:14 | Feedback (2) | Filed Under [ .NET [Italiano] ]

Provocazione: e se tutte le classi del framework non sealed fossero abstract?

Probabilmente proprio tutte non sarebbe neanche utile (se no che provocazione sarebbe?), probabilmente sarebbe un ambiente meno RAD di quello che oggi è, probabilmente il beginner farebbe molta più fatica ... Il fatto è che tutte le volte che inizio un progetto mi ritrovo sempre a lavorare sulle mie classi che derivano quelle del framework. Prendiamo i controlli winform, datagrid, textbox, treeview e treenode, ... quasi sempre meritano di essere estesi per aggiungere proprietà, modificare la serializzazione, aggiungere metodi e così via.Per i controlli webform vale lo stesso principio, per aggiungere script lato client, validazioni, etc.Poi ci sono esempi che vengono dal...

posted @ sabato 16 ottobre 2004 17:38 | Feedback (14) | Filed Under [ .NET [Italiano] ]

Powered by:
Powered By Subtext Powered By ASP.NET