可编程性:ADO.NET模型使用类型化的程序设计操作对象。在类型化程序设计中,程序设计环境或程序设计语言本身识别对象的类型,这对用户来说是很重要的。对那些没有或者有很少编程经验的终端用户来说,对代码的理解也是很容易的。而且,在非类型化的程序设计中,如果开发人员偶尔发生拼写错误,那么将产生一个运行时错误。而在类型的数据集中,误写导致的语法错误会在编译时就检测出来。
性能:在ADO中,当使用COM组件技术跨层传送数据时,可以采用已短开连接的记录集形式,这些值必须转换为COM能够辨认的数据模型,这样就降低了性能。而ADO.NET能使用已断开连接的数据体系结构,这反过来会使得伸缩性更加的容易实现,因为这减少了数据的装载量(不需要任何的数据转换)。因此,在ADO.NET模型中,任何对象都可以在客户端进行处理,这样就提高了其性能。
可伸缩性:基于WEB的以数据为中心的应用程序需要多个用户同时访问数据库,这增加了对访问数据库的要求,使得可伸缩性成为最主要的特征之一。使用资源(比如数据库连接和数据库锁定)的应用程序。不支持多用户同时访问数据,这是因为用户对有限资源的要求最终会超出它们的供应能力,因为ADO.NET使用了已断开连接的数据访问,所以应用程序不用长时间保持数据库锁定状态或者数据库连接激活状态。由此,ADO.NET可以通过鼓励程序员保存有限的资源来提供可伸缩性,并允许多用户同时访问数据。
ADO.NET对象模型主要有两个层次:
已连接的层:由管理提供程序组成的类组成
已断开连接层:根植于Dataset
自从Internet出现以来,网络安全一直是人们关注的问题。其中的原因包括在Internet上传送敏感数据,在Web应用程序之间交换敏感数据以及黑客的威胁等。对于Web应用程序的开发人员和管理员来说,安全是个重要的问题,也是个令人头痛的问题,因此需要格外细致的进行规划和设计。在ASP.NET应用程序中,安全性涉及三个基本的操作:身份验证,授权和模拟(冒名顶替)。
身份验证(Authentication):这是验证用户身份的有效过程,以便决定是否允许通过,通常,身份验证就是验证用户名和密码的过程,除了这种常见的身份验证方式以外,还有比较复杂的验证方式。具体来说身份验证有三种形式:匿名验证,基本验证和集成的Windows验证。其中匿名验证即允许用户在不用通过用户名和密码的情况下浏览网站;基本验证即是我们平常说的用户和密码验证了,这中方式需要对密码进行加密,不然很可能被未授权的用户非法使用,但是加密技术一直不是很理想,所以这种验证方式的使用一直没被保密性较强的WEB应用程序使用。集成的Windows验证,除了满足基本的验证的条件外,用户还必须是有效的Windows用户。在这种模式下,IIS服务器将用Windows域名控制器验证用户名和密码。
授权(Authorization):这是确保允许拥有有效身份的用户只能访问授予访问权限的那些资源的过程。我们可以对IIS服务器进行配置可以控制用户对资源的访问,通过标记网站上可允许的操作可以控制对IIS网站的访问权限。
模拟(Impersonation)当请求从IIS传递到应用程序时,通过使用模拟,ASP. NET应用程序可以选择以这些应用程序当前正为之操作的客户的身份执行。通常这样做的原因是为了避免在ASP. NET应用程序代码中处理身份验证和授权问题。
在WEB服务上开发人员可以用ASP. NET生成一个扩展名定为.asmx的文件,并把此文件配制为网络应用程序的一部分,就建立起了一个网络服务。asmx文件包含对在其他地方定义的受控的类的引用,或者包含这个类的定义。这个类是由ASP. NET提供的WebService类所派生。公有的类方法在标记上WebMethod属性后,就会成为网络服务方法,把HTTP请求发送到asmx文件中的URL后,这些方法就会被调用。网络服务为在Internet上绑定应用程序提供了一个利用现存体系架构和应用程序的简单的、灵活的、基于许多标准的模型。网络应用程序很容易与当地开发的服务或己存在的服务集成在一起,而不用考虑开发平台、开发语言或使用的对象模型,以用于实现任何组成的服务或应用程序。 基于WEB的内部邮件系统设计与实现(7):http://www.youerw.com/jisuanji/lunwen_8487.html