Как получить Silverlight для воспроизведения файла .WMA на IIS 6, когда .WMA Extn. Сопоставлен с Asp.Net - PullRequest
0 голосов
/ 29 сентября 2011

Я, кажется, немного ударил стену на этом - хотя все отлично работает на XP Pro IIS5.1, на IIS 6 В течение последних нескольких дней я пробовал все, чтобы Silverlight просто воспроизводил файл .wma. когда расширение файла .wma сопоставлено с .Net в IIS (через конфигурацию «Домашний каталог>», сопоставьте расширение c: \ windows \ microsoft.net \ framework \ v2.0.50727 \ aspnet_isapi.dll.) - без успеха !! Файл воспроизводится нормально, пока тип файла .wma не сопоставлен с .net, но как только он появляется, я получаю общее сообщение об ошибке «System.Exception - 3137», которое, как я считаю, не является файлом Обнаружено / файл недоступен сообщение.

Файл .wma, который не будет воспроизводиться, не скомпилирован как ресурс в Silverlight .xap - я пытаюсь получить к нему доступ, просто являясь обычной частью структуры папок / файлов на сервере. Я пробовал много разных комбинаций пути, но, вероятно, путь правильный, так как файл воспроизводится нормально, когда расширение .wma не сопоставлено с .net. Код в приложении SL, устанавливающий источник: mediaPlayer.Source = new Uri ("http://www.thedomainname.org.uk/radio/featuredartistsplaylists/poprock.wma", UriKind.Absolute); - хотя я также пробовал относительные пути из файла .xap (с и без начального '/'), абсолютный путь с использованием IP-адреса, а не имени домена (который дал сетевую ошибку) и относительный путь файловой системы в конце \ slash формат (который дал сетевую ошибку). - для аутентификации анонимный доступ включен в IIS для учетной записи пользователя windows IUSR_HOST-7418, а также вообще не настраивает режим в web.config. Я попытался установить для него режим mode = "none" и mode = "windows" * 1004. *

Мой веб-хостинг настроен на VPS, работающем под управлением Windows Server 2003 Standard. Я действительно не знаю, что я делаю, но я попробовал следующее безрезультатно:

- In the IIS configuration mapping dialogue, trying with the 'verify that file exists' checkbox checked and unchecked

- adding a <httpHandlers> entry for .wma in the <system.web> tag of web.config as follows :
    <path "*.wma" verb="*" type="System.Web.UI.PageHandlerFactory" validate="false" />
(and tried it with validate="true")

- running the request with and without a global.asax and with a code-free Application_BeginRequest event - in case my code in global.asax was blocking access to the .wma

- granted Read & Execute rights on the folder containing the .wma to both the Internet Guest Account(HOST-7418\IUSR_HOST-7418) and Users(HOST-7418/Users) Account.

На данный момент, помимо того, что я подозреваю, что это какая-то проблема с доступом к файлу / папке, а не путь, у меня почти нет идей - не в последнюю очередь потому, что я столкнулся с идентичной проблемой на Windows Server 2008 (IIS 7 ) Настройка VPS - файлы WMA снова воспроизводятся, только когда не отображаются на .net (с использованием скомпилированных обработчиков / модулей), в противном случае отказывается воспроизводиться из-за ошибки «System.Exception: 2210 AG_E_INVALID_ARGUMENT».

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

1 Ответ

0 голосов
/ 29 сентября 2011

Пара вещей - во-первых, WMA не должен быть привязан к обработчику .NET.Это просто статический файл, который подается с веб-сервера, поэтому не беспокойтесь ни о каких обработчиках или о web.config.Простой ванильный веб-сайт IIS должен работать нормально.

Сначала проверьте конфигурацию сервера.

Если ваш файл имеет значение http://www.mywebserver.com/SampleFile.wma, откройте Windows Media Player, перейдите в «Файл»>Откройте URL-адрес, введите полный URL-адрес и убедитесь, что он воспроизводится.Если это не так, Silverlight не будет работать.

После того, как это сработает, Silverlight MediaElement может использовать 2 метода потоковой передачи Windows Media - прогрессивная загрузка или потоковая передача.Прогрессивная загрузка - это ваш текущий сценарий, для потоковой передачи требуются службы Windows Media, и она может выполняться по протоколу RTSP (MMS) или HTTP.

Чтобы помочь вам в тестировании и для сравнения, я выложил образец WMA длядля тестирования с использованием этих 3 сценариев:

Прогрессивная загрузка (обычный веб-сервер): http://static.x9tech.com/StackOverflow/WithoutASoundSample.wma

Потоковая передача (WMS через MMS): mms: //xstream5.x9tech.com/Static/StackOverflow/WithoutASoundSample.wma

Потоковая передача (WMS через HTTP): http://xstream5.x9tech.com/Static/StackOverflow/WithoutASoundSample.wma

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...