IIS 7.0 的主要部分已被重新编写,重写的大部分都涉及到新的集成模式,该模式允许.NET 模组可以在 IIS 管道的任何阶段挂接进来。然而,当我们让 ASP.NET 运行于这一集成模式时,就会曝露出一些无法兼容的改变。
- 传统的 HTTP Module 和 Handler 必须在 web.config 文件中重新进行配置;
- 不再支持 BeginRequest 和 AuthenticateRequest 阶段中的身份模拟(Impersonation);
- 应用再也不能同时使用 Form 和 Windows 身份证验;
- 非标准 Http 客户端在使用 Windows 身份验证时可能会遇到问题,因为身份验证的功能已移至内核中;
- 其它在某些特定时刻引发的认证问题,如当客户端正在进行身份模拟时;
- 不再支持全局事件方法 DefaultAuthentication_OnAuthenticate,事件 WindowsAuthentication_OnAuthenticate 也不再是每次都会被触发;
- Passport 验证已被彻底标识为过期,与以前所有的不兼容变化所不同的是,这一功能将彻底失效,即使以传统模式运行 IIS,Passport 也不再有效。
欲查看全部的不兼容改变,请浏览 Mike Volodarsky 的发贴。
评论