我们知道IIS 7.0的主要部分已被重新编写,重写的大部分都涉及到新的集成模式,该模式允许.NET模组可以在IIS 7.0管道的任何阶段挂接进来。然而,当我们让ASP.NET运行于这一集成模式时,就会曝露出一些无法兼容的改变。
IIS 7.0是由微软公司提供的基于运行Microsoft Windows的互联网基本服务。最初是Windows NT版本的可选包,随后内置在Windows 2000、Windows XP Professional和Windows Server 2003一起发行,但在普遍使用的Windows XP Home版本上并没有IIS。
传统的HTTP Module和Handler必须在IIS 7.0web.config文件中重新进行配置;
不再支持BeginRequest和AuthenticateRequest阶段中的身份模拟(Impersonation);
IIS 7.0应用再也不能同时使用Form和Windows身份证验;
非标准Http客户端在使用Windows身份验证时可能会遇到问题,因为身份验证的功能已移至内核中;
其它在某些特定时刻引发的认证问题,如当客户端正在进行身份模拟时;
不再支持全局事件方法DefaultAuthentication_OnAuthenticate,事件WindowsAuthentication_OnAuthenticate也不再是每次都会被触发;
Passport验证已被彻底标识为过期,与以前所有的不兼容变化所不同的是,这一功能将彻底失效,即使以传统模式运行IIS 7.0,Passport也不再有效。
关于ASP.NET 2和IIS 7.0发生不兼容变化,我们就讲解到这里吧。
【编辑推荐】