代码之家  ›  专栏  ›  技术社区  ›  Paul

通配符HttpHandler不处理静态文件

  •  6
  • Paul  · 技术社区  · 16 年前

    我看了一些老问题,但什么也找不到。

    我的web应用程序上有一个通配符HttpHandler,它正在处理url并确定它是否可以对它做任何事情

    如果不能,那么StaticFile处理程序应该将其拾取,并将其作为静态文件(如html文件)提供。

    问题是,它要经过通配符处理程序,然后似乎不去StaticFileHander。是否需要对通配符处理程序或web配置执行某些操作?

    <add name="Wildcard" path="*" verb="*" type="Rewriter.RewriterHttpModule"
     modules="IsapiModule"  requireAccess="None" allowPathInfo="false" 
     preCondition="" responseBufferLimit="4194304" />
    
    <add name="StaticFile" path="*.*" verb="*" 
     modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" 
     scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" 
     resourceType="File" requireAccess="Read" allowPathInfo="false" preCondition="" 
     responseBufferLimit="4194304" />
    
    3 回复  |  直到 16 年前
        1
  •  3
  •   hunter    16 年前

    也许您的HttpHandler应该显式地将请求传递给StaticFileHandler。

        2
  •  3
  •   alex    16 年前

    要跟进Hunter所说的“是”,请在第一个通配符映射之后将此条目添加到Web.Config:

    <add verb="*" path="*" type="System.Web.StaticFileHandler" />
    

        3
  •  2
  •   Branislav Abadjimarinov Ivan Choo    16 年前

    检查应用程序池管道模式。如果它是经典的,那么您必须在 <httpHandlers> 节。如果是集成的,则应使用 <handlers> web.config中的节。

    推荐文章