伪静态的实现是基于实现IHttpModule接口来实现的;
在IIS中当前站点上已配置相应的脚本映射和通配符脚本映射:
脚本映射:请求路径:*.html,可执行文件:%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll,名称:略,请求限制:默认;
通配符脚本映射:请求路径:*,可执行文件:%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll,名称:略,请求限制:默认;
按如上配置后,在调试过程中,发现在浏览器中访问该站点中的html页面的伪静态地址并不会触发HttpModule中的任何方法,但是直接访问真实地址的aspx页面却始终能出发应有的方法,请问一下这样的状态正常么,如果html页面的伪静态地址不会执行HttpModule中的方法,也就意味着伪静态实际上是没有工作的,是不是配置上出了什么问题,谢谢?
开发环境:Windows 8.1 Enterprise With Update 3(64bit) + Visual Studio 2013 With Update 4 + IIS 8.5.9600.16384 + SQL Server 2008 R2 + .Net Framework 2.0.50727
配置IHttpModule是不可以的,可以通过配置IIS,把所有的访问请求都拦截了。
IIS已配置脚本映射和通用脚本映射,使用ISAPI拦截了HTML页面的,但是还是没反应
@Virson Ma: 忘记了,刚在IIS看了,不确定。
以前在IIS 6时,可以配置所有请求都执行ASP.NET模块。
你去iis的模块映射里试下看。
@519740105: 通配符中配置的就是所有的请求“*”,但是还是没生效