排除HttpModule在IIS7上运行静态内容

Rob*_*nik 6 asp.net-mvc iis-7 httpmodule

我的身份验证HttpModule有问题.问题是它显然是针对我在Web服务器(IIS7)上获得的每个请求运行的.因为它也使用Session变量,所以它无法在CSS,JS文件等上正常工作.

我试着用:

<add name="AuthModuleName" type="..." preCondition="managedHandler" />
Run Code Online (Sandbox Code Playgroud)

但无济于事.它仍然可以在每个请求上运行,无论其扩展名或mime类型如何.我还要补充一下,有一个设置

<modules runAllManagedModulesForAllRequests="true">
Run Code Online (Sandbox Code Playgroud)

这对我来说似乎很可疑,并且实际上禁用了模块上的preConditions.但是将其更改为false会以完全不同的方式破坏应用程序并使用不同的异常(SessionStateTempDataProvider要求启用SessionState).

当有人请求静态内容文件时,有人可以帮助我强制IIS7排除我的HttpModule吗?

Rob*_*nik 3

runAllManagedModulesForAllRequests属性必须设置为false才能按照您想要的方式实际配置任何模块。您还必须根据需要正确地重新配置会话和其他内容,但主要的是处理请求的处理程序管道执行顺序。

我的其他问题之一提供了答案:

感谢彼得提供了正确的答案。