科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道应用软件ASP.NET 2.0中的数据访问控件简析(1)

ASP.NET 2.0中的数据访问控件简析(1)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

数据访问一直是开发 Web 应用程序的一个关键问题。现在,大多数复杂的应用程序都可以利用 ASP.NET 2.0 提供的数据访问工具。从体系结构和机制上限制 ASP.NET 1.x 执行的绑定和缓存问题,在 ASP.NET 2.0 中都得以解决了。

作者:msdn 来源:msdn 2007年9月2日

关键字: ASP.NET 数据访问 控件

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共19页)

简介

数据访问一直是开发 Web 应用程序的一个关键问题。几乎每个商业应用程序都需要数据驱动的 Web 页面。由于数据访问如此普遍,开发人员不断地为简单的数据库任务重新生成复杂的代码就显得毫无意义了。开发人员需要从格式各异的不同数据源中快速访问数据。幸运的是,ASP.NET 2.0 中新增的数据访问控件和 ADO.NET 2.0 解决了这一问题。

对于传统的 ASP 和 ASP.NET 1.1 应用程序而言,开发人员不得不创建代码访问和更新数据库,将检索到的数据转换为浏览器识别的 HTML 格式。尽管 Visual Studio .NET 的向导可以帮助完成这个任务,但是要完成诸如分页和排序这样的高级功能,仍需要在后端代码和前端显示之间进行复杂的同步。通常,这样的代码难以维护和同步,特别是在数据库发生更改或需要在页面上显示附加数据的时候。此外,作为数据存储,XML 需要添加大量混有数据访问逻辑的代码。

为了提高开发人员的开发效率和 Web 应用程序的性能,ASP.NET 2.0 通过新增的数据控件中封装的功能,更加灵活地控制数据,从而减少访问和显示数据所需的代码。从传统的数据库到 XML 数据存储,各种各样的数据源都能连接到这些控件。所有数据源都以相似的格式进行处理,大大地降低了开发数据驱动的应用程序的复杂性。

ASP.NET 2.0 需要进行广泛的体系结构改进,以便从内部支持这些功能。新增的数据源对象通过业界认可的最佳方法增加了一个非常可靠的基础结构。现在,大多数复杂的应用程序都可以利用 ASP.NET 2.0 提供的数据访问工具。从体系结构和机制上限制 ASP.NET 1.x 执行的绑定和缓存问题,在 ASP.NET 2.0 中都得以解决了。

Web 应用程序的数据访问

在 .NET Framework 中,通过 ADO.NET API 执行数据访问。API 提供一个抽象层来封装和隐藏直接访问数据库的细节,这些细节有时是很杂乱的。ASP.NET 2.0 Web 应用程序通过提供的一些服务在 ADO.NET 上生成,这些服务用于自动生成与各种类型数据的连接,将用户控件与数据绑定,减少开发数据识别的 Web 应用程序所需的代码数量。

数据访问体系结构

对于 .NET Framework 中的 Web 应用程序,数据访问依赖于两个独立的体系结构层。第一层由执行数据访问所需的框架组件组成。第二层由为程序员提供数据访问功能的 API 和控件组成。从实践的观点看,只需了解能否为特定数据源找到匹配的数据提供程序。

数据访问涉及四个主要的组件:Web 应用程序 (ASP.NET)、数据层 (ADO.NET)、数据提供程序,以及真正的数据源。这些组件之间的关系构成了所有数据识别 Web 应用程序的基础结构。



图 1. 组件体系结构

数据存储

数据存储始于堆栈底部,提供了整个数据访问体系结构的基础。通过 ADO.NET 2.0、ASP.NET 2.0 的新增控件,Web 应用程序能够访问多种数据存储中的数据,包括关系数据库、XML 文件、Web 服务、平面文件,或诸如 Microsoft Excel 这样的电子数据表程序中的数据。实际上,真正的数据源与读取和操作数据所使用的机制关系不大。

数据提供程序

由于具有提供程序模型,ADO.NET 使用一组类和命令与不同的数据源进行交互。提供程序通过定义的一组接口和类挂钩来提供对一个特定数据源的存储和检索功能。这种模型的灵活性使开发人员只需编写一组数据访问代码(使用 ADO.NET)就能够访问多种类型的数据。

在 ASP.NET 2.0 中,除了基本的数据访问之外,提供程序模型实际上还用于多种不同的任务。例如,使用新增的个性化功能存储用户数据时依赖于几类提供程序。因此,实际的提供程序结构是功能依赖的。一个成员提供程序的用途与数据访问提供程序的用途不同。

下表显示组成 ADO.NET 数据提供程序的四个核心对象:

表 1. 一个 ADO.NET 数据提供程序的核心对象

对象 描述

Connection

建立到指定资源的连接

Command

对一个数据源执行命令。公开 Parameters

ConnectionTransaction 范围内执行。

DataReader

从一个数据源读取只进的只读数据流。

DataAdapter

填充一个 DataSet,解析数据源的更新。



提供程序模型明确地分离了各种使用用途。ASP.NET 开发人员能够集中精力构建功能性的、应用人类工程学的用户界面,而后端开发人员则能够通过现有的企业级数据存储实现复杂的集成。使用 ASP.NET 2.0 的提供程序模型开发 Web 应用程序是一个极好的选择。

ADO.NET API

ADO.NET API 定义的抽象层使所有的数据源看起来都是相同的。不论何种数据源,提取信息的过程都涉及相同的关键类和步骤。我们将在下一部分详细介绍 ADO.NET 的处理过程。

Web 应用程序层

ASP.NET 在栈顶提供一系列控件,这些控件的设计意图是为减少开发的数据访问代码数量。例如,开发人员能使用数据源向导自动创建和配置一个数据源,使用这个数据源发布查询和检索结果。此外,不同的控件能够绑定到一个数据源,因此,控件能够依据从数据源检索到的信息,自动设置控件的外观和内容。

这些控件具有各种形状和大小,包括网格、树、菜单和列表。数据绑定控件通过它的 DataSourceID 属性连接到一个数据源,此属性在设计时或运行时声明。

数据源控件通过提供程序(例如 ADO.NET 中的那些提供程序)绑定到下层的数据存储。使用数据源控件的好处是能够在页面中声明性地表示出来。此外,能够直接使用诸如分页、排序和更新操作等功能,而无需编写一行代码。
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章