Переопределение типа mime с помощью VS Web Dev Server
Я хотел бы подавать xbaps с сервера VS web dev (cassini) в Firefox, но при подаче с сервера dev Firefox предлагает загрузить этот файл. Насколько я могу судить, это связано с тем, что сервер dev обслуживает файл xbap с типом mime "application/octet-stream" вместо "application/x-ms-xbap", который работает при обслуживании из IIS.
Кто-нибудь знает, как изменить тип mime, который сервер dev использует для *.файлы xbap?
3 ответов:
Ты не можешь.WebHost довольно неуклюж при выдаче типов контента и имеет очень ограниченный диапазон конкретных типов контента.
Вы можете использовать CassiniDev. Последняя версия обеспечивает расширенную поддержку типа контента, в том числе .xbap.
См. http://cassinidev.codeplex.com/SourceControl/changeset/view/49870#894160 для полного списка поддерживаемых типов.
Update : ваша проблема может заключаться в том, что вы установили FF после 3. 5sp1 и не имеете
NPWPF.dllв каталоге плагинов FF. У вас есть этот файл?Обновление 2 Я только что выпустил версию CassiniDev, которая является отличной заменой для сервера разработки Visual Studio. Его усовершенствования включают улучшенную поддержку типов контента и интегрированное ведение журнала/просмотр трафика.
Сейчас, вероятно, уже слишком поздно, но для тех, кто столкнулся с этой проблемой, вот как ее решить:
Я решил его для mp4 видео, но это тот же принцип для любого mime, просто пересмотрите свои потребности.
Я предполагаю, что вы используете vs2012, создаете IHttpHandler и копируете в него этот код:
public class Mp4Handler : IHttpHandler { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "video/mp4"; context.Response.BinaryWrite(File.ReadAllBytes(context.request.PhysicalPath)); context.Response.End(); } public bool IsReusable{ get{ return false;}} }И не забудьте добавить в свой веб.конфигурационный файл в разделе Система.веб:
<httpHandlers> <add verb="*" path="*.mp4" type="[your-namespace].Mp4Handler" /> </httpHandlers>Поступая так, вы больше не будете нуждаться в CassiniDev, чтобы правильно служить mp4, однако, CassiniDev не зло и стоит сохранение-без него я не смог бы проверить, в чем проблема была в первую очередь.
Обратите внимание, что с VS 2010 SP1 теперь можно использовать IIS Express вместо Cassini для веб-проектов, что дает вам полный контроль над типами MIME.
Дополнительная информация: http://blogs.msdn.com/b/webdevtools/archive/2011/03/14/enabling-iis-express-support-in-vs-2010-sp1.aspx
Comments