January 2007 Blog Posts

Uso di reflection per invocare metodi interni

In un post precedente ho parlato dell'uso dell'attributo AllowPartiallyTrustedCallers a proposito della sicurezza applicata all'invocazione di metodi pubblici definiti all'interno di un assembly strong-named.  Rimanendo sempre sullo stesso tema, un altro attributo utile a "limitare" i possibili chiamanti di un determinato metodo è StrongNameIdentityPermissionAttribute, usato in questo modo: [StrongNameIdentityPermissionAttribute(SecurityAction.LinkDemand, PublicKey = "public key")] public string MyMethod(string parameter) {} La presenza di questo attributo permette la chiamata al metodo MyMethod dell'esempio solo al codice contenuto in un assembly firmato con strong name e che presenta la chiave pubblica specificata nell'attributo stesso. Qualsiasi altro codice che tentasse di...

posted @ Wednesday, January 31, 2007 7:48 PM | Feedback (0)

String intern pool

L'Intern pool, di cui non è la prima volta che ne parlo, è un hashtable mantenuto internamente dal CLR contenente stringhe generalmente usate per memorizzare valori costanti. In questo hashtable sono memorizzate le costanti stringa a livello di compilazione ed ogni stringa aggiunta esplicitamente attraverso l'utilizzo del metodo string.Intern, il quale aggiunge una stringa nell'intern pool (quindi nell'hashtable) e ne ritorna il riferimento se la stessa non è già presente, in caso contrario  ritorna sempicemente il riferimento ad essa. In questo modo è garantito che se due stringhe (o più) contengono gli stessi valori letterali sarà utilizzato (e quindi sarà presente...

posted @ Wednesday, January 24, 2007 8:01 PM | Feedback (0)

TechEd 2007 sto arrivando (lo spero)

Anche quest'anno parto con lo stesso obiettivo ben preciso: assistere ad una conferenza Microsoft oltreoceano. L'obiettivo è puntato sul TechEd 2007 che si terrà in quel di Orlando, Florida, dal 4 al 8 Giugno prossimi. Non mi faccio troppe illusioni perchè la mia attività (frenetica) di consulente mi ha sempre impedito per un motivo o per l'altro di assistere in passato ad altre conferenze simili. Comunque, prima o poi l'occasione capita , e non me la lascerò certo sfuggire . Approfitto di questo post per estendere l'invito ad assistere al TechEd 2007 a tutti coloro che fossero interessati a partecipare, ma...

posted @ Sunday, January 21, 2007 3:01 PM | Feedback (0)

Statistiche in ADO .NET 2.0

In ADO .NET 2.0 è possibile programmaticamente ottenere delle informazioni statistiche circa l'uso di una connessione ad un database. Bastano infatti solo 2 righe di codice: connSQL.StatisticsEnabled = true;                                                                                         System.Collections.IDictionary statsDict = connSQL.RetrieveStatistics(); per ottenere un dictionary di valori statistici validi nel momento in cui il metodo RetrieveStatistics() è invocato. Tratto dalla documentazione MSDN, ecco un elenco (parziale) dei valori statistici più interessanti: NetworkServerTime Restituisce il tempo cumulativo atteso dal provider prima di ricevere una risposta dal database server, a partire dal momento in cui le statistiche sono abilitate. PreparedExecs Restituisce il numero dei comandi precompilati eseguiti, a partire dal momento in cui le statistiche...

posted @ Friday, January 12, 2007 12:57 PM | Feedback (0)

Taggato !!

Speravo di farla franca   ma l'amico Mighell ha pensato bene di taggarmi ! Quindi adesso tocca a me: ecco le 5 cose che pochissime persone (forse nessuna...) conosce di me: 1) Ho tante passioni che non riesco a vivere come vorrei causa mancanza di tempo (chiamateli hobby....) e sono, in ordine sparso: astronomia, astrofisica, fisica quantistica, scacchi (il mio sogno è stato sempre battermi con l''International Woman Grandmaster Alexandra Kosteniuk, senza però che pensate a male  ), tecnologia in generale. Insomma, roba pesante, e qui mi fermo perchè altrimenti divento prolisso! E' chiaro che sono sempre stato attratto dalle cose complesse....il...

posted @ Friday, January 05, 2007 6:38 AM | Feedback (3)