giovedì, luglio 06, 2006

Mutex vs. GetProcessesByName

Vi siete mai accorti che se volete fare un'applicazione single-instance e decidete di usare GetProcessesByName potete imbattervi in qualche problemuccio (leggi: l'applicativo nun parte chiù)?!?
No?!? Bhè ve lo assicuro! Dato che se vi trovate qualche chiave "DisablePerformanceCounter" settata a 1 in giro per il vostro registry, oppure avete dei limiti sui diritti dell'utente e ACL varie...

Io preferisco i mutex e qui c'è un esempio che vi può essere utile:

Caricare Assembly a RunTime

Ho avuto modo di smazzularmi un pò con Assembly.Load e Assembly.LoadFrom...
...bhè ho avuto qualche problemino, ma alcuni interessanti links mi hanno aiutato a venirne fuori...
Ve li propongo, non si sa mai!

e ricordatevi di quell'area sconosciuta della CAG che si chiama Assembly Downlad Cache, molto utile in questo genere di RunTime Loading, che potete miracolosamente esplorare con "gacutil.exe /ldl" e ripulire con "gacutil.exe /cdl".