将特定文件夹映射到web.config中的HttpHandler

Mun*_*Mun 8 asp.net httphandler

是否可以将文件夹中的所有文件扩展名映射到特定的HttpHandler(假设它们的文件扩展名映射到IIS中的aspnet_isapi.dll)?

我已经将FLV扩展映射到IIS中的ASP.NET,并在我的Web应用程序中有一个名为Static的文件夹,其中包含以下文件:

  • 静态/ index.htm的
  • 静态/ MyFile.flv

索引文件是使用JW FLV Media Player播放FLV 的基本html页面.

在Web.Config中,在HttpHanders部分下,以下工作(加载FLV并成功播放):

<add verb="*" path="MyFile.flv" type="MyApp.PassthroughFileHandler, MyApp"/>
Run Code Online (Sandbox Code Playgroud)

但这不(视频无法加载):

<add verb="*" path="Static/*" type="MyApp.PassthroughFileHandler, MyApp"/>
Run Code Online (Sandbox Code Playgroud)

我尝试了各种组合,没有太多运气.

理想情况下,我希望能够让Static文件夹中的所有FLV都使用PassthroughFileHandler,而不必在web.config中单独指定每个文件名.

Sha*_*men 7

这是一种不同的方式,不需要"虚拟"文件夹和新的web.config.

将其添加到主web.config中

<location path="static">
  <system.web>
    <httpHandlers>
      <add verb="GET,HEAD" path="*.*" 
           type="MyApp.PassthroughFileHandler, MyApp" />
    </httpHandlers>
  </system.web>    
</location>
Run Code Online (Sandbox Code Playgroud)


Mar*_*ell 6

尝试在该文件夹中放置第二个web.config,例如:

<?xml version="1.0"?>
<configuration>
    <system.web>
      <httpHandlers>
        <!-- <clear/> -->
        <add verb="*" path="*.flv"
            type="WebApplication3.MyHandler, WebApplication3"/>
      </httpHandlers>
    </system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)