2011-09-29 1 views
0

XP Pro IIS5.1에서 모든 것이 잘 작동하지만 IIS 6에서 지난 몇 일 동안 실버 라이트를 얻으려고 모든 것을 시도했습니다. .wma 파일 확장명이 IIS의 .Net에 매핑되면 .wma 파일을 재생합니다 (홈 디렉토리> 구성을 통해 확장 프로그램을 c : \ windows \ microsoft.net \ framework \ v2.0.50727 \ aspnet_isapi.dll에 매핑). - 성공없이 !! .wma 파일 유형이 .net에 매핑되지 않은 한 파일은 정상적으로 재생되지만 최대한 빨리 "System.Exception - 3137"이라는 일반적인 오류 메시지가 표시됩니다. 찾을 수 없거나 접근 할 수없는 메시지..WMA Extn 일 때 Silverlight에서 IIS 6의 .WMA 파일을 재생하는 방법 Asp.Net에 매핑 됨

재생되지 않는 .wma 파일은 리소스로 실버 라이트 .xap로 컴파일되지 않습니다. 서버의 폴더/파일 구조의 정상적인 부분 인 것처럼 액세스하려고 시도하고 있습니다. 경로의 여러 가지 조합을 시도했지만 아마도 .wma 확장명이 .net에 매핑되지 않은 경우 파일이 제대로 재생되므로 올바른 경로입니다. 소스를 설정하는 SL 앱의 코드는 다음과 같습니다. mediaPlayer.Source = new Uri ("http://www.thedomainname.org.uk/radio/featuredartistsplaylists/poprock.wma", UriKind.Absolute); - .xap 파일에서 상대 경로를 시도했지만 ('/'를 사용하거나 사용하지 않음) 도메인 이름 (네트워크 오류가 있음) 및 상대 파일 시스템 경로 대신 IP 주소를 사용하는 절대 경로 백 슬래시 형식 (네트워크 오류가 있음). - 인증을 위해 Windows 사용자 계정 IUSR_HOST-7418에 대한 IIS에서 익명 액세스가 활성화되어 있고 web.config에서 모드를 설정하지 않았을뿐만 아니라 mode = "none"및 mode = "windows"로 설정하려고했습니다.

내 웹 호스팅 설정은 Windows Server 2003 Standard를 실행하는 VPS입니다. 이 파일/폴더 액세스 문제의 어떤 종류가 아닌 경로 문제가 있다는 의심을 넘어,

- 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

제프 : 당신이 IE의 주소 표시 줄에 직접 WMA의 URL을 배치 할 때 어떻게됩니까? – AnthonyWJones

+0

답장을 보내 주셔서 감사합니다. 다음과 같은 표준 오류 메시지가 나타납니다. "페이지를 표시 할 수 없습니다. 찾고있는 페이지를 현재 사용할 수 없습니다. 웹 사이트에 기술적 인 문제가 있거나 브라우저 설정을 조정해야 할 수 있습니다." –

+0

방금 ​​확인했는데 global.asax 코드가 미디어 플레이어에서 들어오는 .wma 파일 요청을 가로 채고 있습니다 (그래야만합니다).하지만 모든 코드가 비보안 요청에 적용되지 않더라도 - 지불 파일, 액세스가 거부되었습니다 어쨌든. –

답변

0

몇 가지 - 먼저 WMA를 .NET 처리기에 매핑 할 필요가 없습니다. 웹 서버에서 제공되는 정적 파일 일 뿐이므로 핸들러 나 web.config 파일에 대해 걱정하지 마십시오. 평범한 바닐라 IIS 웹 사이트는 잘 처리됩니다.

먼저 서버 구성을 테스트하십시오.

파일이 http://www.mywebserver.com/SampleFile.wma 인 경우 Windows Media Player를 열고 파일> URL 열기로 이동하여 전체 URL을 입력하고 재생되는지 확인하십시오. 그렇지 않으면 Silverlight가 작동하지 않습니다.

일단 작동하면 Silverlight MediaElement는 Windows Media 스트리밍의 두 가지 방법 인 프로그레시브 다운로드 또는 스트리밍을 사용할 수 있습니다. 프로그레시브 다운로드는 현재 시나리오이며 스트리밍에는 Windows Media 서비스가 필요하며 RTSP 프로토콜 (MMS) 또는 HTTP를 통해 수행 할 수 있습니다.

은 테스트에 도움을 당신이이 3 개 시나리오를 사용하여 테스트에 대한 비교를 위해, 나는 샘플 WMA를 넣어했습니다

프로그레시브 다운로드 (일반 팔자 '웹 서버) : http://static.x9tech.com/StackOverflow/WithoutASoundSample.wma

을 스트리밍 (MMS상의 WMS) : mms : //xstream5.x9tech.com/Static/StackOverflow/WithoutASoundSample.WMA

스트리밍 (WMS를 통해 HTTP) : http://xstream5.x9tech.com/Static/StackOverflow/WithoutASoundSample.wma

+0

답변 해 주셔서 감사합니다. 사람들이 도움을 청합니다. 미디어 플레이어에서 내 .wma 파일에 연결할 수 없습니다. 프록시 설정을 자동 감지 한 후 미디어 플레이어는 샘플 1과 3을 재생할 수있었습니다. 닷넷 매핑 포인트에서, 나는 내 질문에 언급하지 않았지만 global.asax를 사용하여 유료 기반으로 제공 될 일부 .wma 파일에 대한 액세스를 제한하고 있습니다. 그래서 모든 요청이 필요합니다. 모든 .wma 파일은 global.asax (내 접근 권한을 부여하기 전에 세션 ID, IP 주소 및 사용자 계정을 검사 함)에서 내 코드에 의해 가로 챌 수 있습니다. –

관련 문제