Вызов методов WMPLib.mediaCollection из ASP.NET в IIS возвращает пустые списки

Я пытаюсь получить доступ к библиотеке проигрывателя Windows Media из ASP.NET.

Следующий код:

WMPLib.WindowsMediaPlayer mplayer = новый WMPLib.WindowsMediaPlayer ();

WMPLib.IWMPStringCollection list = mplayer.mediaCollection.getAttributeStringCollection («исполнитель», «аудио»);

Возвращает непустой список при запуске с использованием веб-сервера разработки VS2005, но пустой список при использовании IIS.

Настройка олицетворения с помощью:

System.Security.Principal.WindowsImpersonationContext impersonationContext = ((System.Security.Principal.WindowsIdentity) User.Identity) .Impersonate ();

Не помогает. Похоже, что WMPLib все еще не думает, что он работает как пользователь, у которого есть библиотека.

Есть ли способ обойти это?


person Nick Williamson    schedule 26.09.2008    source источник


Ответы (2)


Вы пробовали настраивать через web.config в ASP.NET? Когда вы работаете в отладчике VS2005, вы (вероятно) запускаете код от имени себя, но в IIS вы будете запускать его как IUSR_ machinename или другую системную учетную запись с низким разрешением.

Попробуйте добавить что-то вроде этого в свой файл web.config:

<system.web>
<identity impersonate="true" userName="MYDOMAIN\myuser" password="p@ssw0rd" />
</system.web>

Не знаю, работает ли это конкретно с Media Player, но это работает для других проблем, связанных с идентификацией / безопасностью, подобных этой.

person Dylan Beattie    schedule 26.09.2008

У меня возникла аналогичная проблема: код отлично работает на моем локальном компьютере, но после развертывания на моем домашнем сервере он не может ничего извлекать из медиатеки (я могу открыть медиаплеер, чтобы проверить, есть ли песни в библиотеке. )

Сначала я подумал, что это тоже проблема процесса, поэтому я попытался как настроить пул приложений для работы под моей учетной записью, так и настроить его с помощью тегов олицетворения идентичности; ни один не решил проблему.

Я не уверен, какие еще различия могут вызвать проблему

person John    schedule 23.10.2008