我已经定义了一个HTTP处理程序,并在我的web.config中添加了一个条目
<add verb="GET" path="TestApp/*" type="TestApp.TestHandler, TestWebApp" />
当我遇到静态资源(例如JPG,PNG文件
)时,这会像我期望的那样工作我需要我的处理程序也处理像TestApp / logo.gif这样的路径,但似乎IIS已经注册了StaticHandler来拦截这些请求
我的ASP.NET HttpHandler有没有办法只处理路径TestApp / *的静态资源请求,但让IIS StaticHandler处理其他所有内容?
是的,我意识到让IIS使用自己的处理程序处理静态资源更快更有效
答案 0 :(得分:1)
您应该将此添加到您的web.config:
<modules runAllManagedModulesForAllRequests="true" />
这将确保甚至对静态文件的请求都通过.net管道传递。
答案 1 :(得分:1)
如果您在集成管道模式下运行,您的处理程序将拦截这些请求:
<system.webServer>
<handlers>
<add name="TestHandler" path="TestApp/*" verb="GET" type="TestApp.TestHandler, TestWebApp" />
</handlers>
</system.webServer>
如果您在经典管道模式下运行,则必须在IIS中注册ISAPI筛选器,以使这些请求通过托管处理程序。