有没有办法排除某些网页使用HTTP模块?
我有一个使用自定义HTTP模块验证会话的应用程序. HTTPModule在Web配置中如此设置:
<system.web> <!-- ... --> <httpModules> <add name="SessionValidationModule" type="SessionValidationModule,SomeNamespace" /> </httpModules> </system.web>
要从页面中排除模块,我尝试这样做(没有成功):
<location path="ToBeExcluded"> <system.web> <!-- ... --> <httpModules> <remove name="SessionValidationModule" /> </httpModules> </system.web> </location>
有什么想法吗?
解决方法
您可以使用HTTPHandler而不是HTTPModule.处理程序让您在Web.Config中声明路径时指定路径.
<add verb="*" path="/validate/*.aspx" type="Handler,Assembly"/>
如果您必须使用HTTPModule,您可以检查请求的路径,如果是要排除的路径,请绕过验证.