2008-09-26 3 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");

VS2005 개발 웹 서버를 사용하여 실행 중일 때 비어 있지 않은 목록을 반환하지만 IIS를 사용할 때는 비어있는 목록을 반환합니다.()

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

으로 가장 설정

도움이되지 않습니다. WMPLib는 여전히 라이브러리가있는 사용자로 실행되는 것으로 생각하지 않습니다.

이 문제를 해결할 방법이 있습니까?

답변

1

ASP.NET의 web.config를 통해 구성을 시도 했습니까? VS2005 디버거에서 실행 중일 때는 코드를 직접 실행하고 있지만 IIS에서는 IUSR_ machinename 또는 권한이 낮은 다른 시스템 계정으로 실행합니다. 당신의 web.config 파일에 이런 식으로 뭔가를 추가

시도 :

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

이 특별히 미디어 플레이어와 함께 작동하지만,이 같은 다른 정체성/보안 관련 문제에 대한 작동하는지 아니 생각.

0

비슷한 문제가 발생했습니다. 로컬 컴퓨터에서 코드가 제대로 작동하지만 홈 서버에 배포하면 미디어 라이브러리에서 아무 것도 꺼낼 수 없습니다 (미디어 플레이어를 열어서 해당 미디어가 있는지 확인합니다). 라이브러리의 노래)

처음에는 프로세스 문제라고 생각 했으므로 응용 프로그램 풀을 내 계정에서 실행하도록 설정하고 ID 가장 태그를 통해 설정하려고 시도했습니다. 둘 다 문제를 해결하지 못했습니다.

다른 차이점이 문제를 일으킬 수 있는지 확실하지 않습니다.

관련 문제