Il “Boxing”, questo sconosciuto…

Salve a tutti! Oggi volevo parlare di una feature che ha fatto la sua comparsa in Vista e che in Windows 7 è già stata disabilitata per default.. diciamo che ha avuto vita breve. Intensa, ma breve… Tutti vi ricordate com’era noioso attendere l’avvio del Computer. Tutte le volte che si avviava Windows, si faceva…


Le CAPICOM e Windows 7

Ogni nuova release di Sistema Operativo porta con sè diverse novità, tra tecnologie vecchie che scompaiono di scena, e nuove entrate. CAPICOM, la libreria wrapper COM per le Crypto API, esce di scena e non è più supportata a partire da Windows 7. Il link uffciale su MSDN, http://msdn.microsoft.com/en-us/library/aa375754(VS.85).aspx, indica i sistemi operativi su cui…


NET Framework 4.0: Introduzione alla Parallel Extensions for the .NET Framework - PFx

Carissimi ben trovati. Oggi faremo un’introduzione in merito la nuova feature introdotta nella.NET Framework 4.0, conosciuta come “Parallel Extensions for the .NET Framework”. Prima di entrare nel merito della PFx, lasciatemi fare una premessa riguardo le attuali performance delle CPU dei nostri calcolatori. Risulta noto a tutti noi, che l’obbiettivo dei produttori di microprocessori è…


Problemi di deserializzazione con serialization assembly pregenerati (sgen.exe)

Supponiamo che la vostra applicazione si connetta a diversi web service di cui ha generato i proxy tramite la funzionalità di Visual Studio “Add web reference” o “Add service reference”. Come molti di voi sapranno, la comunicazione con i web service avviene utilizzando lo standard SOAP: in sostanza vengono scambiati dei messaggi XML che trasportano…


ReaderWriterLockSlim - Ottimizzare le performance delle applicazioni multi-thread.

Carissimi lettori ben trovati. Quest’oggi parleremo delle performance delle nostre applicazioni multithread, soffermandoci sull’utilizzo di una nuova classe: ReaderWriterLockSlim introdotta con la .NET Framework 3.5. Tale classe nasce con il presupposto di ottimizzare l’utilizzo dei lock in applicazioni multi-thread. Capita spesso infatti che più thread cerchino d’accedere contemporaneamente ad una risorsa condivisa, la quale per…


Troubleshooting di una RemotingException

Questo post analizza un errore a runtime di .NET Remoting. WCF sta rapidamente diventando l’infrastruttura di comunicazione preferita per le applicazioni .NET, ma .NET Remoting è ancora utile in alcuni casi. Specificamente, quando l’interoperabilità non è richiesta ed è necessario passare gli oggetti per riferimento invece che per valore. Il problema A runtime, un client…


Come determinare se un oggetto .Net è già stato finalizzato

Introduzione Eccoci al mio secondo post. Vediamo insieme una parte di un problema che sto analizzando in questi giorni. Il problema è piuttosto complesso, ma in questo post ci concentriamo su una sottoparte. Ho un dump relativo ad un crash di un processo e il problema, come al solito in questi casi, è quello di…


Fatal Execution Engine Error con Framework a 64 bit

Recentemente ho lavorato ad un paio di casi relativi a questo errore, spero con questo post di risparmiare un po’ di stress e mal di testa a qualcun’altro. Il problema si manifesta solamente con il Framework a 64 bit (la stessa applicazione eseguita con il Framework a 32 bit funziona correttamente): il processo termina maniera…


Web Application Out Of Memory: blocco nel Finalizer thread

In uno dei miei post precedenti, Sempre chiamare il metodo Dispose!, avevo trattato un di un crash che avveniva per una exception generata all’interno del metodo Dispose. Siccome il codice non chiamava esplicitamente la Dispose, questa era chiamata dal Garbage Collector in fase di Finalizzazione. Avvenendo dunque l’eccezione al di fuori del contesto di una…