众所周知,HttpModule常用来做一些身份,权限之类的验证,而这些验证都是动态请求,静态资源的请求一般都不会进入httpmodule中来,这是因为IIS6和IIS7的经典模式中动态请求都是走托管代码处理,而静态资源则直接返回到客户端,这样就做到了过滤静态资源的目的,但是在IIS7默认的集成模式下,你会发现像脚本,图片,样式等等静态资源的请求也会进入httpmodule中,不管托管代码还是本机代码,都可以在身份验证和执行处理程序被插入到内核代码的托管代码拦截,这时候如果在代码中直接使用了session等属性,可能会引发异常,因为静态资源的session永远是null,那么你应该在原有的基础上加上判空语句即可。
HttpModule在IIS7集成模式下静态资源请求可能带来的问题
最新推荐文章于 2022-01-07 22:04:45 发布