随着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
923日修定,最初的 .net 2.0framework
2.0.50727.210     2006
912日修定
2.0.50727.832     2007413日修定  传说中的 .net framework 2.0 sp1?
2.0.50727.1378   2007
68日修定   
2.0.50727.1433   20071024日修定

对于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的序列
-----------------------------------------------------------------