public static string GetContentTypeForExtension(string extension, string def)
{
if (string.IsNullOrEmpty(extension))
{
return def;
}
string contentType = "";
if (!SecurityManager.IsGranted(new RegistryPermission(PermissionState.Unrestricted)))
{
if (MimeTypes.ContainsKey(extension))
contentType = MimeTypes[extension];
else
contentType = def;
}
if (!SecurityManager.IsGranted(new DnsPermission(PermissionState.Unrestricted)))
{
//do something.... not at full trust
try
{
RegistryKey reg = Registry.ClassesRoot;
reg = reg.OpenSubKey(extension, false);
if (reg != null) contentType = (string)reg.GetValue("", def);
}
catch (Exception)
{
contentType = def;
}
}
return contentType;
}