2008-09-26 54 views
2

我试图从ASP.NET访问Windows Media Player库。在IIS上从ASP.NET调用WMPLib.mediaCollection方法返回空列表

以下代码:

WMPLib.WindowsMediaPlayer的mplayer =新WMPLib.WindowsMediaPlayer();

WMPLib.IWMPStringCollection list = mplayer.mediaCollection.getAttributeStringCollection(“artist”,“audio”);

使用IIS时,使用VS2005开发Web服务器,但空单运行时返回一个非空列表。

设置模拟与:

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

没有帮助。看起来WMPLib仍然不认为它作为拥有库的用户运行。

有没有办法解决这个问题?

回答

1

您是否尝试过使用ASP.NET中的web.config配置?当你在VS2005调试器中运行时,你可能(可能)像你自己一样运行代码,但是当在IIS下时,你将运行它作为IUSR_ 计算机名称或另一个低权限系统帐户。

尝试增加这样的事情你的web.config文件:

<system.web> 
<identity impersonate="true" userName="MYDOMAIN\myuser" password="[email protected]" /> 
</system.web> 

不知道这是否专门工作与媒体播放器,但它工作在这样的其他身份/安全相关的问题。

0

我碰到了类似的问题:代码工作正常,我的本地机器上,但一旦部署了我的主服务器上,它可以拉不出来任何媒体库的(我可以打开媒体播放器来验证有在库中的歌曲)

起初我还以为这是一个过程的问题一样,所以我都尝试设置应用程序池下我自己的帐户下运行,并通过身份来设置它冒充标签;没有解决这个问题。我不确定其他差异会导致问题