程序设计-ASP.NET基础知识(八)

程序设计-ASP.NET基础知识(八)

XML 与 HTML 的主要区别

  1. XML 是区分大小 写字母的, HTML 不区分。
  2. XML 中,绝对不能省略掉结束标记 。在 HTML 中,如果上下文清楚地显示出段落或者列表键在何处结尾,那么你可以省略</p> 或者 </li> 之类的结束 标记。
  3. 在 XML 中,拥有单个标记而没有匹配的结束标记的元素必须用一个 / 字符作为结尾。这样分析器就知道不用 查找结束标记了。
  4. 在 XML 中,属性值必须在引号 中。在 HTML 中,引号是可用可不用的。
  5. 在 XML 中,所有的属性都必须带有相应的值 。在 HTML 中,可以拥有不带值的属性名。

C# 中 property 与 attribute 的区别,他们各有什么用处,这种机制的好处在哪里?

property 和attribute 汉语都称之为属性。

property 一个是属性,用于存取类的字段,类向外提供的数据区域,

attribute 一个是特性,用来标识类,方法等的附加性质, 描述对象在编译时或运行时属性的.

C# 可否对内存进行直接的操作?

这个问题比较难回答,也是个很大的问题。但是可以这样问答。 C# 是可以对内存进行直接操作的,虽然很少用到指针,但是 C# 是可以使用指针的,在用的时候需要在前边加 unsafe, ,在 .net 中使用了垃圾回收机制( GC )功能,它替代了程序员,不过在 C# 中不可以直接使用 finalize 方法,而是在析构函数中调用基类的 finalize() 方法。

用最有效的方法算出 2 的 3 次方 8 等于几?

2<<3.

维护数据库的完整性、一致性、你喜欢用触发器还是自写业务逻辑?为什么

触发器,性能好,事务性

ADO.NET 相对于 ADO 等主要有什么改进?

简单的说, ADO.NET 新增 dataset 等,不需要随时保持连接,性能提高.

1:ADO.Net 不依赖于ole db 提供程序, 而是使用.net 托管提供的程序,

2: 不使用com

3: 不在支持动态游标和服务器端游

4:, 可以断开connection 而保留当前数据集可用

5: 强类型转换

6:xml 支持

您可以通过将 ADO.NET 的各项功能与 ActiveX 数据对象 (ADO) 的特定功能进行比较来理解 ADO.NET 的功能。

         1 、数据的内存中表示形式

在 ADO 中,数据的内存中表示形式为记录集 。在 ADO.NET 中,它为数据 集。它们之间有重要的差异。

         2 、表的个数

记录集看起来像单个表。如果记录集将包含来自多个数据库表的数据,则它必须使用 JOIN 查询,将来自各个数据库表的数据组合到单个结果表中。 相反,数据集是一个或多个表的集合。数据集内的表称为数据表;明确地说,它们是 DataTable 对象。如果数据集包含来自多个数据库表的数据,它通常将包含多个 DataTable 对象。即,每个 DataTable 对象通常对应于单个数据库表或视图。这样,数据集可以模仿基础数据库的结构。

数据集通常还包含关系。数据集内的关系类似于数据库中的外键关系,即它使多个表中的行彼此关联。例如,如果数据集包含一个有关投资者的表和另一个有关每个投资者的股票购买情况的表,则数据集可能还包含一个关系来连接投资者表的各个行和购买表的对应行。

由于数据集可以保存多个独立的表并维护有关表之间关系的信息,因此它可以保存比记录集丰富得多的数据结构,包括自关联的表和具有多对多关系的表。

         3 、数据导航和游标

在 ADO 中,您使用 ADO MoveNext 方法顺序扫描记录集的行。在 ADO.NET 中,行表示为集合,因此您可以像依次通过任何集合那样依次通过表,或通过序号索引或主键索引访问特定行。 DataRelation 对象维护有关主记录和详细资料记录的信息,并提供方法使您可以获取与正在操作的记录相关的记录。例如,从 Investor 表的 "Nate Sun" 的行开始,可以定位到 Purchase 表中描述其购买情况的那组行。

" 游标 " 是数据库元素,它控制记录导航、更新数据的能力和其他用户对数据库所做更改的可见性。 ADO.NET 不具有固有的游标对象,而是包含提供传统游标功能的数据类。例如,在 ADO.NET DataReader 对象中提供只进、只读游标的功能。有关游标功能的更多信息,请参见数据访问技术。

         4 、将打开连接的时间降至最低

在 ADO.NET 中,打开连接的时间仅足够执行数据库操作,例如 " 选择 "(Select) 或 " 更新 "(Update) 。您可以将行读入数据集中,然后在不保持与数据源的连接的情况下使用它们。

在 ADO 中,记录集可以提供不连接的访问,但 ADO 主要是为连接的访问设计的。

ADO 和 ADO.NET 中的不连接处理之间存在一个显著差异。在 ADO 中,通过调用 OLE DB 提供程序来与数据库通信。但在 ADO.NET 中,您通过数据适配器( OleDbDataAdapter 、 SqlDataAdapter 、 OdbcDataAdapter 或 OracleDataAdapter 对象)与数据库通信,这将调用 OLE DB 提供程序或基础数据源提供的 API 。 ADO 和 ADO.NET 之间的主要区别在于:

在 ADO.NET 中,数据适配器允许您控制将对数据集所做的更改传输到数据库的方式,方法是实现性能优化、执行数据验证检查或添加其他任何额外处理。

注意:数据适配器、数据连接、数据命令和数据读取器是组成 .NET Framework 数据提供程序的组件。 Microsoft 和第三方供应商可能会提供其它提供程序,这些提供程序也可集成到 Visual Studio 中。有关不同 .NET 数据提供程序的信息,请参见.NET 数据提供程序。

         5 、在应用程序间共享数据

在应用程序间传输 ADO.NET 数据集比传输 ADO 不连接的记录集要容易得多。若要将 ADO 不连接的记录集从一个组件传输到另一个组件,请使用 COM 封送。若要在 ADO.NET 中传输数据,请使用数据集,它可以传输 XML 流。 相对于 COM 封送, XML 文件的传输提供以下便利之处:

 

更丰富的数据类型 COM 封送提供一组有限的数据类型(由 COM 标准定义的那些类型)。由于 ADO.NET 中的数据集传输基于XML 格式,所以对数据类型没有限制。因此,共享数据集的组件可以使用这些组件一般会使用的任何丰富的数据类型集。

         6 、性能

传输大型 ADO 记录集或大型 ADO.NET 数据集会使用网络资源;随着数据量的增长,施加于网络的压力也在增加。 ADO和 ADO.NET 都使您可以最大限度地降低所传输的数据。但

ADO.NET 还提供另一个性能优势: ADO.NET 不需要数据类型转换。而需要 COM 封送来在组件间传输记录集的 ADO ,则需要将 ADO 数据类型转换为 COM 数据类型。

         7 、穿透防火墙

防火墙可以影响试图传输不连接的 ADO 记录集的两个组件。请记住,防火墙通常配置为允许 HTML 文本通过,但防止系统级请求(如 COM 封送)通过。 因为组件使用 XML 交换 ADO.NET 数据库,所以防火墙可以允许数据集通过。

ASP.Net 与 ASP 相比,主要有哪些进步?

asp 解释型, aspx 编译型,性能提高,有利于保护源码

ASP 的缺点 :

l  VBScript 和 JavaScript 是在 ASP 中仅可使用的两种脚本语言。它们是基本的非类型化语言。在 ASP 中不能使用强类型语言 .

l  ASP 页面需要解释 , 使得它执行速度较慢。

l  ASP 页面非常凌乱。

l  在使用 ASP 创建 WEB 应用程序时,程序员和设计人员必须在同一文件上一起工作。

l  在 ASP 中,必须通过编写代码来提供所需的任何功能。

l  在 ASP 中没有对代码给予太多的关注。

l  在 ASP 中没有调试机制。

l  在 ASP 中。必须停止 WEB 服务器才能安装 DLL 的新版本,并且在应用程序中使用 DLL 的新版本之前,必须先在注册表中注册它,而且, DLL 注册过程非常复杂。

ASP.NET 的优点:

l  ASP.Net 中支持强类型语言 .

l  ASP.Net 页将被编译而不是解释,这样它们的执行速度就比 ASP 页快。

l  ASP.Net 提供声明性服务器控件。

l  ASP.Net 通过继承机制来支持代码的重用。

l  ASP.Net 具有 Trace 的内置方法,可以帮助对页面进行调试。

l  在 ASP.Net 中,置于应用程序的 BIN 目录中的任何组件将自动对应用程序可用 .

俊霖

发表评论

您必须