Web 应用程序基础结构 ASP.NET(作为 .NET Framework 版本 1.0 的一部分引入)将提供 Windows 客户端开发的瘦客户端对应物。通过显著改善的性能、工作效率和安全性,Visual Studio 2005 和 ASP.NET 2.0 将带来简化、高性能且强大的 Web 开发体验。ASP.NET 2.0 将具有一组新的控件和基础结构,可简化基于 Web 的数据访问,并且将包含能够促进代码重用、可视化一致性以及增强美感的功能。
首先,通过引入用于与数据交互的新控件来调整 ASP.NET 2.0 数据访问。DataSource 控件将以声明方式或编程方式在应用程序中使用,以便封装使用数据(来自数据库、XML 文件、中间层业务对象和其他来源)所需的查询逻辑。DataSource 公开一组公共接口,以便数据绑定控件可以轻松地使用不同类型的数据,而不必要求它支持的每个数据类型都具有唯一的 API。
尽管 DataSource 控件有助于简化数据的检索和更新,但 ASP.NET 2.0 还提供用于显示和操作数据的新控件。GridView 控件是 ASP.NET DataGrid 的后继控件,它添加了自动处理数据的分页、排序、编辑和删除的功能(图 13)。DetailsView 是一个数据绑定控件,它一次呈现其关联数据源中的一个记录。与 Microsoft Access 数据库的窗体视图类似,DetailsView 提供分页按钮,以便在记录之间进行导航。开发人员可以在主控件-详细信息控件方案中使用 DetailsView 控件来更新和插入新记录,其中,主控件的选定记录确定 DetailsView 显示记录。上述控件和其他控件的附加功能大大简化了生成动态的、数据驱动 Web 站点和 Web 应用程序。
图 13. GridView 控件提供网格元素的分页、排序、编辑、删除和选择,而无需附加代码。
其次,ASP.NET 2.0 包含能够在 Web 站点中的页之间确保一致性和代码重用的功能。母版页的引入将使开发人员能够在多个页之间快速共享布局,方法是设计指定控件、菜单栏、页眉和页脚位置的模板(图 14)。与 Windows 窗体中的可视化继承类似,母版页使 Web 站点中的其他页可从母版页继承从而自动获得外观。当开发人员要更改所有页的布局时,只需对母版页进行更新。其他的平台工作效率增强功能包括一组可以简化很多常见 Web 方案(如身份验证、站点导航、管理、个性化等)的框架服务。这些增强功能可减少代码膨胀,增加可维护性,并简化大多数常见 Web 应用程序开发任务的实现。
图 14. 通过母版页可在多个页之间有效地共享 Web 站点布局。设计器中的灰色区域表示母版页布局;白色区域表示可编辑的页内容。
ASP.NET 还有一项新增功能,即合并主题和外观以增强 Web 应用程序的外观。外观是一组属性、模板和自定义代码,可用于将页上控件的大小、字体和其他特征进行标准化。主题合并了多个外观和样式表来指定 Web 站点的整体外观。主题和外观将易于打包、传输以及应用于其他 Web 站点。此外,ASP.NET 将提供多个内置主题,以便开发人员可轻松生成具有艺术美感的 Web 站点。
第三,使用 ASP.NET 2.0 的 Web 应用程序开发人员将能够利用 SQL 缓存无效化来提高其应用程序性能。通过缓存从 SQL Server 数据库中检索的数据(更新该数据之前),这种数据缓存方法将显著提高性能。通过当前可用版本的 SQL Server,ASP.NET 将按照指定的时间间隔轮询该数据库,以确定是否已经对该数据进行更新。然后,只有当有迹象显示对该数据进行了更新时,ASP.NET 才会重新查询该数据库。但是,在针对 SQL Server 2005 数据库进行开发时,开发人员将能够在不确定的时间内缓存数据驱动的页。具备这一功能的原因是 SQL Server 2005 能主动将对数据进行的更改通知 ASP.NET。SQL 缓存无效化的内部测试已证明了,性能好处最高为非缓存数据方案的 10 倍。
第四,通过使用 Visual Studio 2005 IDE,Web 应用程序开发人员将体验到工作效率方面的显著改善。在启用新的 Web 开发人员 IDE 配置文件后,Visual Studio 2005 将只公开与 Web 应用程序开发有关的功能,从而优化开发环境和用户体验。此外,新的基于目录的项目模型将消除解决方案文件的系统开销,同时通过对直接 IIS 枚举、FTP 和文件系统访问的支持,使 Web 开发人员能够享受传统的基于文件系统的项目范型。结果,FrontPage Server Extensions 不再是生成 ASP.NET 页的必要条件。
最后,对 ASP.NET 代码隐藏模型的增强消除了对由脆弱工具生成的代码的依赖,这些代码是传统意义上协调 ASP.NET 2.0 Web 页与其关联类文件所需的。使用不完全类,ASP.NET 提供一个更为可靠的模型,以分隔表示标记与代码。不完全类还将使开发人员能够轻松地以内联方式编写代码(图 15),从而遵守很多 Web 开发人员所熟悉的模型。其他对 Web 开发的 IDE 工作效率增强功能包括:设计时验证引擎、内联 CSS 支持、更灵活的调试等。
图 15. 通过脚本块中的智能感知可以在设计时执行语句完成和语法检查。
通过在控件集、可视化设计器和编码体验中计划的改进,ASP.NET 2.0 将完成常见编码方案所需的代码量最多减少 70%,从而大大简化 Web 应用程序开发体验。