在ASP.NET中,连接与断开的架构有何区别?

5
连接和断开架构(数据库)在asp.net中相互之间有什么优缺点?
连接架构的优点是它可以更快地访问数据,因为它不需要在每次请求时重新连接到数据库。而断开架构的优点是它可以更好地处理大量并发请求,因为它可以在多个请求之间共享数据。
连接架构的缺点是它可能会导致性能问题,因为每次请求都需要重新连接到数据库。而断开架构的缺点是它可能会占用更多的内存,因为它需要将所有数据存储在内存中。
因此,选择哪种架构取决于您的应用程序的需求和预期负载。

你的意思是使用 DataSet 和 DataAdapter 与使用 DataReader 的区别吗? - Martin Brown
5个回答

12
在断开式架构中,使用 DataSet 从数据库检索数据,不需要维护连接。一旦检索到数据,所有操作都可以使用该数据进行。在处理数据时不会引起流量问题。
在连接式架构中,使用 DataReader 从数据库检索数据。此处始终保持连接。可以执行更新、删除、读取和选择操作,因为数据是在访问数据库时被获取的,因此必须保持连接。这可能会导致流量问题。

3
关于 ASP.NET,"断开连接"的架构通常指的是将数据通过少量的批量请求下载到 ASP.NET 应用程序的内存中,并存储在缓存中以供以后处理。这样可以避免频繁访问数据库,从而消除了主要的 I/O 障碍之一。在一个经常查询但不更新数据的站点中,如果您的服务器具有支持缓存数据的内存,则可以显著提高性能。
当然,也有可能您正在引用类似 Google Gears 的东西,但我没有听说过在 ASP.NET 世界中使用它。不过,任何事情都有可能发生。

谢谢。您的答案间接地告诉了我为什么在这个教程http://aspalliance.com/1866_Building_Reports_using_ASPNET_and_Crystal_Reports__Part_3__An_Invoice_Report_Using_Disconnected_Data.all中错过了关于断开连接的重点。 - Alex. S.

2

在了解这个实现之前,您需要了解在.NET框架中如何实现数据库系统。在.NET中,ADO.NET负责数据处理,在ADO.NET中有数据集、数据适配器和数据库。

数据集是客户端内存中的临时存储,用于存储从数据库发送的数据。数据适配器是一个中间代理,来回发送和接收数据,我指的是它从数据集发送数据,然后数据库服务器将结果从数据库发送到数据集,并且这个过程是通过数据适配器完成的。

通常,数据适配器使用连接与数据库连接,以便开始事务,在断开连接的数据架构中,当数据从/到数据库传递时,此连接会关闭。最大的优点是安全性,因为当连接始终打开时,任何人都可以访问数据库,因为它始终打开。在连接的情况下,用户必须反复进行身份验证并重新打开连接,每当启动事务时,这会降低性能并增加工作负载,特别是当有很多事务时,但它可以保护数据库免受未经授权的方面的攻击。


1

连接数据需要创建连接才能访问,因此速度较慢;而断开连接的内存数据则访问速度更快。

要访问连接数据,您可以使用 ADO.NET,而对于断开连接的数据,则不需要使用。

可以从数据集中的多个表中访问断开连接的数据。连接的 .NET 运行时会创建一个 DataTable 实例来保存数据。

在断开连接的数据中,您可以创建一个窗口来作为 DataView,用于对数据进行排序和筛选。而在连接数据访问中无法这样做。

连接数据需要使用只读向前数据读取器,而断开连接的数据则不需要。

数据集中的断开连接数据可以进行序列化/反序列化。


-3

ASP.NET是一种服务器端技术,旨在让服务器处理页面请求。ASP.NET的本质要求采用连接模型。

您能否澄清一下您所说的“断开连接”是什么意思?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接