随着vs.net 2008 和.net framework 3.5正式版的发布,很多朋友的目光都被华丽的3.5系列吸引了,但很多人却不知道他们用了很熟的.net framework 2.0已经悄悄的发生变化了~~~~~~~
据最新的msdn解释,.net framwork 3.5并不只是单纯意义上的 version 3.5,它涉及到了
.net framework 2.0 (sp1)
.net framework 3.0 (sp1)
拿system.web.dll这个大家熟的不能在熟的程序集来说,目前已知,经历了五个重要的版本(希望朋友们提供补充 )
2.0.50727.42 2005年9月23日修定,最初的 .net 2.0framework
2.0.50727.210 2006年9月12日修定
2.0.50727.832 2007年4月13日修定 传说中的 .net framework 2.0 sp1?
2.0.50727.1378 2007年6月8日修定
2.0.50727.1433 2007年10月24日修定
对于System.Web.dll经历的内部修定,也许很多朋友想知道每次版本都有哪些重大的变化
1. 加入了对IIS 7.0集成管道的支持
在 2.0.50727.42 版本,即最初的Asp.net 2.0中,只支持ISAPI管道,
ISAPIRuntime类的ProcessRequest是程序的入口,直接和IIS交互
在新版本2.0.50727.832中
加入了对IIS7.0的支持
类PipelineRuntime,用于接收处理来自IIS 7.0的消息,和IIS 7.0进行交互,从此System.web.dll多了一个新的成员
类IIS7WorkerRequest 用于封装IIS 7.0的消息
枚举 RequestNotification 用于标识在应用程序生命周期里的不同请求
..........
新增的成员如下图:
------------------------------------------------------------
---------------------------------------------------------------
由于加入了对IIS 7.0的集成,原有代码肯定会有变动
因为原有的Http管道仅支持ISAPI,为了支持IIS 7.0的管道集成
变化如下图:
微软重写的HttpApplication.InitInternal()方法
将原有的ISAPI管道代码,封装在ApplicationStepManager中
并新增加了PipelineStepManager类
---------------------------------------------------------------------
2 在 System.web.dll 中内置了 对 Asp.net Ajax 的扩展支持
随着Asp.net Ajax 1.0的发布,Aps.net Ajax也在悄然发然变化,它正在慢慢的向System.web.dll这个程序集渗透
下图截取自Page类
Page新增了二个属性,不过是internal的,对最终用户影响不大
另外,在 System.web.Extension.dll 3.5里 IScriptManager已经被移动System.web.dll里了如下图
同时,我们的System.web.dll程序中入了对System.Web.Extension.dll 3.5的友元访问
如下图所示,在最新的System.web.dll 中,加入了IScriptManager,IUpdatePanel的序列
-----------------------------------------------------------------