今天刚刚阅读了一篇MSDN article。介绍的是如何将现有的asp.net 1.x的web application移植到asp.net 2.0上,从而充分的利用asp.net 2.0的特性。
具体的参考:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/rearchitectv20.asp
这里将文中提及的asp.net 2.0的新的功能和特性简单的罗列一下:
总的来讲,asp.net 2.0中引入了新的架构思想,提供了更多和更强的控件,增强了数据邦定的功能,内置了用户登录和验证和用户配置信息管理的功能,同时引入了页面模版的概念.下一一道来:
1. 首先要提及的是在asp.net 2.0中提供了Provider Model.通过对这种模式的支持,用户可以自定义对功能接口的实现,这样可以使得开发出来的应用程序更加适应具体的情况,具有很灵活的扩展性.而且通过将以前的代码提供的接口包装成custom Provider可以很好的重用已有的代码和逻辑功能,并且充分利用asp.net 2.0带来的新的特性. ASP.net 2.0中将全面的支持Provider模式,包括用户验证,用户信息配置,站点导航管理,还有数据邦定也支持Provider模式.
2. 为了能够更好的提高开发大型web应用程序的效率,微软引进了新的技术Master Pages或者称之为Page Template.(如果用过Macromedia Dreamweaver的网页制作者,一定对网页模版的概念比较熟悉). 通过定义Master Pages,可以是很方便的制作和维护大量的外观很类似的web page,通过master page可以统一所有引用了master page的content page(引用了master page的页面称为content page)的外观,并且以后更新master page的时候,所有的content page都会同步更新. 一个Master Page可以被应用到任何的目录和任意的一个web page上.并且Visual Studio 2005将提供对Master Page和Content Page的WYSIWYG的可视化支持.实际上,asp.net rutime 2.0在运行的时候会将master page和content page合并起来,并动态的创建一个新的page对象来响应请求.
3. ASP.net会提供Web Parts Framework (WPF),通过它可以实现SharePoint中更具不同用户和需要提供提示信息的类似功能.
4. 大量新的web controls:用于登录和安全验证,数据源和数据显示,数据邦定,信息提示,网站导航等..并且还引入了Themes的概念,利用了CSS和控件皮肤等技术来设置整个网站的现实风格和界面主题. 在asp.net中发布了DataGrid的替代者DataView,它使得对数据显示的排序和分页变得更容易,并且支持双向邦定,可以实现Select, Insert, Delete, Update, Sort和Count等操作. 另外类似的控件还有TreeView, FormView和DetailsView.另外TreeView和Menu控件还支持与站点导航的邦定.
5. 增强了数据邦定的功能,以前的数据邦定一般是单向的只读的,并且只支持对实现了IEnumerable接口的数据源的邦定,asp.net中邦定默认都是双向的,而且提供了对多种形式的数据的邦定,包括关系数据,xml数据,甚至是对内存中.net object的邦定,通过实现自己的DataSourceProvider还可以实现更灵活的数据邦定.
6. ASP.net 2.0对Cache的依赖机制进行了增强,以往只支持简单的timeout和cache item dependency,现在asp.net 2.0中允许设置自定义的dependency,比如可以检测当数据库中的某条数据记录改变或删除时导致Cache失效.
7. 在ASP.net 2.0中可以对xml配置文件更方便的读,并且可以写(当然要有些得权限才可以).而且支持对任意的XML块进行加密.提高了配置信息的安全性.
8. 另外asp.net还内置了诸如站点技术器之类的站点统计功能,真的想的比较周到啊:)
ASP.NET 2.0本省市基于.net framework 2.0的,在底层自然是支持了所有的framework 2.0的新的特性,比如泛型(generics),分布的类定义(partial classes)以及ADO.NET 2.0等.
看了上面ASP.NET 2.0提供的如此多的令人兴奋的新的功能和特性,真的为微软喝彩,希望这些功能能够真的为我们开发者们带来方便,并希望.net 2.0早点正式release!