Nel mio ultimo articolo
Creare una pagina per il download di file, ripreso nel blog
qui, indicavo il seguente codice per determinare il Content-Type data l'estensione del file.
Response.ContentType =
Registry.ClassesRoot.OpenSubKey(TheFile.Extension).
GetValue("Content Type", @"application\octet-stream") as string;
Qualche giorno fa
Raffaele mi faceva notare che sarebbe buona cosa chiudere le chiavi del registro una volta aperte... non mi sono infatti accorto che Microsoft.Win32.RegistryKey è una classe IDisposable. Ecco quindi il codice rivisto:
using(RegistryKey rKey = Registry.ClassesRoot.OpenSubKey(TheFile.Extension)){
Response.ContentType = rKey.GetValue("Content Type", @"application\octet-stream") as string;
//rKey.Close();
}
La chiusura esplicita della chiave (chiamata al metodo
Close) non è necessaria se si usa
using che "Dispone" l'oggetto e di conseguenza chiude la chiave... comunque su MSDN se ne parla
qui.