2009-03-23 2 views
8

폴더의 모든 파일 확장명을 특정 HttpHandler에 매핑 할 수 있습니까 (파일 확장명이 IIS의 aspnet_isapi.dll에 매핑된다고 가정)?특정 폴더를 web.config의 HttpHandler에 매핑

나는 IIS에서 ASP.NET에 매핑 된 FLV 확장자를 가지고, 그리고 폴더에는 다음 파일이 내 웹 응용 프로그램에 정적라는 이름의 한 :

  • 정적/index.htm으로
  • 정적/MyFile.flv

색인 파일은 JW FLV Media Player을 사용하여 FLV를 재생하는 기본 html 페이지입니다. 있는 Web.Config에서

는 HttpHanders 섹션에서 다음 작품 (FLV로드 성공적으로 재생됩니다) :

<add verb="*" path="MyFile.flv" type="MyApp.PassthroughFileHandler, MyApp"/> 

그러나 이것은 (비디오를로드 할 수없는)하지 않습니다 :

<add verb="*" path="Static/*" type="MyApp.PassthroughFileHandler, MyApp"/> 

나는 많은 행운없이 다양한 조합을 시도했다.

이상적으로는 정적 폴더의 모든 FLV를 web.config에서 개별적으로 각 파일 이름을 지정하지 말고 PassthroughFileHandler를 사용할 수있게하고 싶습니다.

답변

6

같은과 해당 폴더 안에 두 번째의 Web.config를 배치하십시오 :

<?xml version="1.0"?> 
<configuration> 
    <system.web> 
     <httpHandlers> 
     <!-- <clear/> --> 
     <add verb="*" path="*.flv" 
      type="WebApplication3.MyHandler, WebApplication3"/> 
     </httpHandlers> 
    </system.web> 
</configuration> 
+0

감사합니다,이 추가. – Mun

0

나는 당신이 ASP.NET (나는 당신이 II 6을 사용한다고 가정) IIS로 가서 구성 할 필요가 있다고 생각 와일드 카드 확장을 처리합니다. .flv 확장명을 매핑 했더라도 IIS는 Static/Index.htm을 정상적으로 처리하고 ASP.NET에 전달하지 않기 때문입니다. 나는이 시도 적이 있지만

http://professionalaspnet.com/archive/2007/07/27/Configure-IIS-for-Wildcard-Extensions-in-ASP.NET.aspx

당신은 아마, 그냥이 정적 폴더에 대한 IIS를 구성 할 수 있습니다.

7

"더미"폴더와 새 web.config가 필요하지 않은 다른 방법이 있습니다.

는 메인의 Web.config에 완벽하게 작동

<location path="static"> 
    <system.web> 
    <httpHandlers> 
     <add verb="GET,HEAD" path="*.*" 
      type="MyApp.PassthroughFileHandler, MyApp" /> 
    </httpHandlers> 
    </system.web>  
</location> 
관련 문제