2009-03-23 7 views
8

¿Es posible asignar todas las extensiones de archivo en una carpeta a un HttpHandler específico (suponiendo que sus extensiones de archivo están asignadas a aspnet_isapi.dll en IIS)?Asignación de una carpeta específica a HttpHandler en web.config

Tengo la extensión FLV asignada a ASP.NET en IIS, y han llamado una carpeta estático en mi aplicación web con los siguientes archivos:

  • estático/index.htm
  • Static/MyFile.flv

El archivo de índice es una página html básica que utiliza el JW FLV Media Player para reproducir el FLV.

En Web.Config, en la sección HttpHanders, las siguientes obras (FLV se carga y reproduce con éxito):

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

pero esto no significa (vídeo no se puede cargar):

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

He intentado varias combinaciones, sin mucha suerte.

Idealmente, me gustaría poder tener todas las FLV en la carpeta estática usar PassthroughFileHandler, en lugar de tener que especificar cada nombre de archivo individualmente en web.config.

Respuesta

6

Trate de colocar un segundo web.config dentro de esa carpeta, con algo como:

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

Gracias, que funcionó a la perfección. – Mun

7

Aquí hay una manera diferente que no requiere una carpeta "ficticia" y un nuevo web.config.

Agregar a su web.config principal

<location path="static"> 
    <system.web> 
    <httpHandlers> 
     <add verb="GET,HEAD" path="*.*" 
      type="MyApp.PassthroughFileHandler, MyApp" /> 
    </httpHandlers> 
    </system.web>  
</location> 
Cuestiones relacionadas