iis5和iis6.0下面,把iis的管道和asp.net管道进行了隔离,带来了一些局限和不足。
比如:
1.iis和asp.net之间有一些相同的操作。比如:身份认证。
2.动态文件和静态文件的处理不一致:
3.iis难以扩展。对iis的扩展基本上是要自定义isapi。isapi是基于win32的非托管的aip。
如果发现硬盘上有相匹配的文件,直接返回给iis。这时候,后面的asp.net管道中的事件还没有触发。
在使用httpmodule来处理身份验证和权限判断时,可以在httpmodule中注册一个事件。这个事件在处理非静态文件时才会发生。或者注册一个静态和动态都会发生的事件。如果是静态文件(根据后缀来判断),就直接返回。