Settembre... ora di rimettersi in moto, anche se quest'anno con un pò di fatica in più :o In queste sere di ripresa sto facendo qualche gioco non tanto sulle archietture quanto sulle tecnologie analizzando alcune possibilità date dal Framework _conosciute_ ma mai davvero approfonfite. In questi giorni ho avuto la necessità di avere contesti a livello di Thread per poter condividere dati tra funzioni senza aggiungere parametri nelle varie firme. Attenzione il contesto a livello di Therad non è da confondere con il contesto del Thread (quello in cui gira) in quanto in esso potrebbero girare altri Thread. Ho quindi approndito Thread.AllocateNamedDataSlot (e funzioni correlate) intorno a cui ho implementato un ThreadContext. Qui ne mostro l'implementazione e qualche riga di test http://blogs.ugidotnet.org/markino/articles/25817.aspx.
Certo se il codice è ben strutturato sin dall'inizio i TheradContext sono senza dubbio evitabili. Quando applicarlo allora? L'architettura potrebbe risultare carente di scalabilità per alcune nuove funzionalità richieste e il refactoring potrebbe essere davvero molto costoso; in tal caso un ThreadContext potrebbe essere una buona ancora di salvataggio... ci penso, lo valuto ascolto i vostri feedback e vediamo che fine fargli fare ;-p