Обслуживание .ogg в веб-роли Windows Azure с использованием размещенного веб-ядра - PullRequest
0 голосов
/ 29 октября 2011

У меня есть веб-роль Azure, в которой используется размещенное веб-ядро (то есть закомментировано в ServiceDefinition.cdef), и я не могу зарегистрировать mimeType для обслуживания .ogg. Я провел немало поисков и нашел несколько предлагаемых решений, но, похоже, ничего не работает.

В одном решении было предложено добавить пользовательский тип пантомимы в web.config . Это работало, когда веб-роль выполнялась как веб-приложение в моем локальном IIS (т.е. не в Azure), но когда я запускаю ее в Azure, она не работает. .Ogg возвращает ошибку 404.0 (в fiddler он имеет тип содержимого text / html; charset = utf-8).

Другое предложение состояло в том, чтобы зарегистрировать задачу Start в ServiceDefinition.cdef, которая запустит файл cmd, который вызовет appcmd.exe для установки mimeType (например, %windir%\system32\inetsrv\appcmd.exe set config /section:staticContent /+"[fileExtension='ogg',mimeType='audio/ogg']"). Опять же, это не сработало.

Похоже, что другие имели успех с этими методами, пытаясь обслуживать другие типы статического контента. Мое единственное предположение относительно того, почему это работает для них, а не для меня, состоит в том, что они запускали Azure в полном режиме IIS, в то время как я работаю в размещенном веб-ядре.

Любая помощь будет принята с благодарностью.

1 Ответ

2 голосов
/ 30 октября 2011

Я предполагаю, что файла .ogg на самом деле нет.Убедитесь, что .ogg является частью вашего проекта Visual Studio и помечен как «Build Action = Content».(Локально, это может просто работать, потому что файл .ogg находится в том же каталоге, что и остальная часть вашего кода, но в облаке он не может быть опубликован.)

(Это должно быть довольно легко проверитьесли у вас включен удаленный рабочий стол для вашего приложения. Просто зайдите в один из экземпляров и найдите сайт на диске E: \. Затем посмотрите, действительно ли файл .ogg находится там, где вы ожидаете.)

...