Расширения файлов и типы MIME в .NET

Я хочу получить MIME Content-Type с заданным расширением (желательно без доступа к физическому файлу). Я видел несколько вопросов по этому поводу, и методы, описанные для выполнения этого, можно возобновить в:

использованиеинформация реестра.использованиеFindMimeFromData urlmon.dll.использованиеИнформация IIS.Сверните свою собственную функцию отображения MIME. На основеэтот стол, например.

Я использовал номер 1 в течение некоторого времени, но я понял, что информация, предоставленная реестром, не соответствует и зависит от программного обеспечения, установленного на компьютере. Некоторые расширения, такие как .zip, не используют, чтобы указывать Content-Type.

Решение № 2 вынуждает меня иметь файл на диске для чтения первых байтов, что является чем-то медленным, но может дать хорошие результаты.

Третий метод основан на службах каталогов и всем этом, что мне не очень нравится, потому что я должен добавить ссылки на COM, и я не уверен, что он совместим между IIS6 и IIS7. Кроме того, я не знаю производительность этого метода.

Наконец, я не хотел использовать свою собственную таблицу, но в конце кажется лучшим вариантом, если я хочу достойной производительности и согласованности результатов между платформами (даже Mono).

Как вы думаете, есть лучший вариант, чем использовать мою собственную таблицу или один из других описанных методов лучше? Какой у тебя опыт?

Ответы на вопрос(6)

Ваш ответ на вопрос